api | ||
common | ||
console | ||
data | ||
docker | ||
patches | ||
.dockerignore | ||
.env.dist | ||
.gitattributes | ||
.gitignore | ||
.gitlab-ci.yml | ||
.php_cs.dist | ||
autocompletion.php | ||
codeception.dist.yml | ||
composer.json | ||
composer.lock | ||
docker-compose.dist.yml | ||
Dockerfile | ||
README.md | ||
yii |
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