accounts/README.md
ErickSkrauch 6f30b9d352 Readme
2020-05-19 01:24:45 +03:00

5.1 KiB
Raw Blame History

Accounts Ely.by

Сервис управления Аккаунтами Ely.by, предоставляющий единую точку входа для наших и внешних сервисов по протоколу OAuth2, а также реализующий сервер авторизации для серверов Minecraft и частично реализующий совместимое с API Mojang для получения информации об аккаунтах.

Предупреждение: этот проект не предназначен для использования вне экосистемы сервисов Ely.by.

Разработка

Проект ориентирован на работу в Docker окружении, так что для полноценной работы проекта запускать его следует именно в окружении Docker-контейнера. Ссылки на установки:

Далее необходимо создать форк репозитория, а после клонировать его:

git clone git@github.com:<your_username>/accounts.git
cd accounts

Затем необходимо создать локальные файлы .env и docker-compose.yml:

cp .env.dist .env
cp docker-compose.dist.yml docker-compose.yml

Скопированные файлы можно изменить под условия локальной среды разработки, но в общем случае они пригодны для использования без вашего вмешательства.

Контейнеры не умеют автоматически устанавливать зависимости, так что их нужно установить самостоятельно. Если у вас в системе установлен php и composer, то можно установить зависимости через команду composer install. Вы также всегда можете установить зависимости с помощью контейнера:

docker-compose run --rm --no-deps app composer install

При первом запуске произойдёт процесс загрузки и построения необходимых образов, после чего все контейнеры начнут свою работу, и вы сможете приступить к разработке.

Для запуска всех контейнеров, используйте следующую команду:

docker-compose up -d

По умолчанию, в docker-compose.yml указан 80 порт для самого сервиса, а также 8080 порт для подключения к phpMyAdmin. Если сервисы web и phpmyadmin выбросят ошибку, связанную с занятостью портов, то необходимо или освободить необходимые порты (80 и 8080), или же изменить их, после чего заново выполнить команду docker-compose up -d.

Пользовательский интерфейс

Этот репозиторий содержит в себе только код для API бекенда, в то время как интерфейс находится в соседнем репозитории. Пользователи Linux и Mac могут использовать следующий скрипт, чтобы получить последнюю версию пользовательского интерфейса:

curl -s https://api.github.com/repos/elyby/accounts-frontend/releases/latest \
 | grep "browser_download_url.*tar.gz" \
 | cut -d : -f 2,3 \
 | tr -d \" \
 | xargs curl -sLo /tmp/accounts-frontend.tar.gz \
&& rm -rf frontend \
&& mkdir -p frontend \
&& tar -zxf /tmp/accounts-frontend.tar.gz -C frontend \
&& rm -f /tmp/accounts-frontend.tar.gz

Если этот скрипт не сработал для вас, то вы можете самостоятельно перейти на страницу релизов, скачать подходящий build-архив и разархивировать всё его содержимое в папку frontend.

Как войти в работающий контейнер

Начиная с версии docker-compose 1.9.0, была добавлена команда docker-compose exec, которая позволяет выполнить на работающем контейнере произвольную команду, основываясь на имени сервиса в compose-файле. Так, например, чтобы войти в shell контейнера app, используйте следующую команду:

docker-compose exec app bash