2016-10-02 03:50:40 +05:30
|
|
|
|
# Accounts Ely.by
|
2016-01-02 19:13:18 +05:30
|
|
|
|
|
2020-01-25 13:52:08 +05:30
|
|
|
|
Сервис управления Аккаунтами Ely.by, предоставляющий единую точку входа для наших и внешних сервисов по протоколу
|
|
|
|
|
OAuth2, а также реализующий сервер авторизации для серверов Minecraft и частично реализующий совместимое с API Mojang
|
|
|
|
|
для получения информации об аккаунтах.
|
2016-01-02 19:13:18 +05:30
|
|
|
|
|
2020-01-25 13:52:08 +05:30
|
|
|
|
**Предупреждение**: этот проект не предназначен для использования вне экосистемы сервисов Ely.by.
|
2016-01-02 19:13:18 +05:30
|
|
|
|
|
2020-01-25 13:52:08 +05:30
|
|
|
|
## Разработка
|
2016-10-02 03:50:40 +05:30
|
|
|
|
|
2020-01-25 13:52:08 +05:30
|
|
|
|
Проект ориентирован на работу в Docker окружении, так что для полноценной работы проекта запускать его следует именно в
|
|
|
|
|
окружении Docker-контейнера. Ссылки на установки:
|
|
|
|
|
- [Docker](https://docs.docker.com/install/)
|
|
|
|
|
- [docker-compose](https://docs.docker.com/compose/install/)
|
2016-08-09 12:23:05 +05:30
|
|
|
|
|
2020-01-25 13:52:08 +05:30
|
|
|
|
Далее необходимо создать форк репозитория, а после клонировать его:
|
2016-01-02 19:13:18 +05:30
|
|
|
|
|
2016-05-10 04:19:50 +05:30
|
|
|
|
```sh
|
2020-01-25 13:52:08 +05:30
|
|
|
|
git clone git@github.com:<your_username>/accounts.git
|
|
|
|
|
cd accounts
|
2016-05-10 04:19:50 +05:30
|
|
|
|
```
|
|
|
|
|
|
2020-01-25 13:52:08 +05:30
|
|
|
|
Затем необходимо создать локальные файлы `.env` и `docker-compose.yml`:
|
2016-05-10 04:19:50 +05:30
|
|
|
|
|
|
|
|
|
```sh
|
2020-01-25 13:52:08 +05:30
|
|
|
|
cp .env.dist .env
|
|
|
|
|
cp docker-compose.dist.yml docker-compose.yml
|
2016-05-10 04:19:50 +05:30
|
|
|
|
```
|
|
|
|
|
|
2020-01-25 13:52:08 +05:30
|
|
|
|
Скопированные файлы можно изменить под условия локальной среды разработки, но в общем случае они пригодны для
|
|
|
|
|
использования без вашего вмешательства.
|
2016-05-10 04:19:50 +05:30
|
|
|
|
|
2020-01-25 13:52:08 +05:30
|
|
|
|
Контейнеры не умеют автоматически устанавливать зависимости, так что их нужно установить самостоятельно. Если у вас в
|
|
|
|
|
системе установлен `php` и `composer`, то можно установить зависимости через команду `composer install`. Вы также всегда
|
|
|
|
|
можете установить зависимости с помощью контейнера:
|
2016-05-10 04:19:50 +05:30
|
|
|
|
|
2016-10-02 03:50:40 +05:30
|
|
|
|
```sh
|
2020-01-25 13:52:08 +05:30
|
|
|
|
docker-compose run --rm --no-deps app composer install
|
2016-05-10 04:19:50 +05:30
|
|
|
|
```
|
|
|
|
|
|
2020-01-25 13:52:08 +05:30
|
|
|
|
При первом запуске произойдёт процесс загрузки и построения необходимых образов, после чего все контейнеры начнут
|
|
|
|
|
свою работу, и вы сможете приступить к разработке.
|
2016-11-24 00:19:56 +05:30
|
|
|
|
|
2020-01-25 13:52:08 +05:30
|
|
|
|
Для запуска всех контейнеров, используйте следующую команду:
|
2016-11-24 00:19:56 +05:30
|
|
|
|
|
|
|
|
|
```sh
|
2020-01-25 13:52:08 +05:30
|
|
|
|
docker-compose up -d
|
2016-11-24 00:19:56 +05:30
|
|
|
|
```
|
|
|
|
|
|
2020-01-25 13:52:08 +05:30
|
|
|
|
По умолчанию, в `docker-compose.yml` указан `80` порт для самого сервиса, а также `8080` порт для подключения
|
|
|
|
|
к phpMyAdmin. Если сервисы `web` и `phpmyadmin` выбросят ошибку, связанную с занятостью портов, то необходимо или
|
|
|
|
|
освободить необходимые порты (`80` и `8080`), или же изменить их, после чего заново выполнить команду
|
|
|
|
|
`docker-compose up -d`.
|
|
|
|
|
|
|
|
|
|
### Пользовательский интерфейс
|
|
|
|
|
|
|
|
|
|
Этот репозиторий содержит в себе только код для API бекенда, в то время как интерфейс находится в
|
|
|
|
|
[соседнем репозитории](https://github.com/elyby/accounts-frontend). Пользователи Linux и Mac могут использовать
|
|
|
|
|
следующий скрипт, чтобы получить последнюю версию пользовательского интерфейса:
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
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
|
2016-11-24 00:19:56 +05:30
|
|
|
|
```
|
|
|
|
|
|
2020-01-25 13:52:08 +05:30
|
|
|
|
Если этот скрипт не сработал для вас, то вы можете самостоятельно перейти на
|
|
|
|
|
[страницу релизов](https://github.com/elyby/accounts-frontend/releases), скачать подходящий `build`-архив и
|
|
|
|
|
разархивировать всё его содержимое в папку `frontend`.
|
2016-05-10 04:19:50 +05:30
|
|
|
|
|
2020-01-25 13:52:08 +05:30
|
|
|
|
### Как войти в работающий контейнер
|
2016-01-02 19:13:18 +05:30
|
|
|
|
|
2020-01-25 13:52:08 +05:30
|
|
|
|
Начиная с версии `docker-compose` 1.9.0, была добавлена команда `docker-compose exec`, которая позволяет выполнить
|
|
|
|
|
на работающем контейнере произвольную команду, основываясь на имени сервиса в compose-файле. Так, например, чтобы
|
|
|
|
|
войти в shell контейнера `app`, используйте следующую команду:
|
2016-11-24 00:19:56 +05:30
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
docker-compose exec app bash
|
|
|
|
|
```
|