Authentication service for the Ely.by and Minecraft
Go to file
ErickSkrauch c0aa78d156 Implemented WebHooks delivery queue.
Completely removed usage of the RabbitMQ. Queue now based on Redis channels.
Worker process now extracted as separate docker container.
Base image upgraded to the 1.8.0 version (PHP 7.2.7 and pcntl extension).
2018-07-08 18:20:19 +03:00
api Implemented WebHooks delivery queue. 2018-07-08 18:20:19 +03:00
common Implemented WebHooks delivery queue. 2018-07-08 18:20:19 +03:00
console Implemented WebHooks delivery queue. 2018-07-08 18:20:19 +03:00
data Структура проекта окончательно загнана в Docker 2016-10-02 01:20:40 +03:00
docker Implemented WebHooks delivery queue. 2018-07-08 18:20:19 +03:00
tests Implemented WebHooks delivery queue. 2018-07-08 18:20:19 +03:00
.dockerignore Структура проекта окончательно загнана в Docker 2016-10-02 01:20:40 +03:00
.env-dist Implemented WebHooks delivery queue. 2018-07-08 18:20:19 +03:00
.gitignore Implemented PHP-CS-Fixer support 2018-04-17 23:47:25 +03:00
.gitlab-ci.yml Disable xdebug for tests 'cause we don't collect coverage stats 2018-04-18 03:19:03 +03:00
.php_cs.dist Implemented PHP-CS-Fixer support 2018-04-17 23:47:25 +03:00
autocompletion.php Implemented WebHooks delivery queue. 2018-07-08 18:20:19 +03:00
composer.json Implemented WebHooks delivery queue. 2018-07-08 18:20:19 +03:00
composer.lock Implemented WebHooks delivery queue. 2018-07-08 18:20:19 +03:00
docker-compose.dev.yml Implemented WebHooks delivery queue. 2018-07-08 18:20:19 +03:00
docker-compose.prod.yml Implemented WebHooks delivery queue. 2018-07-08 18:20:19 +03:00
Dockerfile Implemented WebHooks delivery queue. 2018-07-08 18:20:19 +03:00
Dockerfile-dev Implemented WebHooks delivery queue. 2018-07-08 18:20:19 +03:00
README.md Обновлён README.md файл 2016-11-23 21:49:56 +03:00
yii Implemented PHP-CS-Fixer support 2018-04-17 23:47:25 +03:00

Accounts Ely.by

Развёртывание dev [backend]

Предварительно нужно установить git, docker и его docker-compose.

За тем нужно установить, настроить и запустить nginx-proxy контейнер. Это делается один раз в рамках системы и в дальнейшем используется и для других проектов.

Также необходимо иметь доступ к registry.ely.by. Для этого выполнить команду docker login registry.ely.by, ввести свой логин и пароль. Если доступа нету, то нужно его попросить у кого-нибудь, кто может его выдать.

За тем сливаем репозиторий:

git clone git@gitlab.ely.by:elyby/accounts.git account.ely.by
cd account.ely.by

Далее нужно создать .env, docker-compose.yml и id_rsa файлы:

cp .env-dist .env
cp docker-compose.dev.yml docker-compose.yml
cp ~/.ssh/id_rsa id_rsa # Использовать ссылку нельзя

Касательно файла id_rsa: часть зависимостей находятся в наших приватных репозиториях, получить доступ куда можно только в том случае, если в контейнере окажется ключ, который имеет доступ к этим репозиториям.

Все вышеперечисленные файлы находятся под gitignore, так что с конечными файлами можно произвести все необходимые манипуляции под конкретную задачу разработки. В файле .env обязательно следует задать JWT_USER_SECRET, иначе авторизация на бекенде не заработает.

После этого просто выполняем старт всех контейнеров:

docker-compose up -d

Контейнеры автоматически сбилдятся и начнут свою работу.

Развёртывание dev [frontend]

Чтобы поднять сборку frontend приложения, необходимо иметь установленный в системе Node.js версии 5.x или 6.x, а так же npm 3-ей версии (npm i -g npm для обновления).

За тем переходим в папку frontend и устанавливаем зависимости:

cd frontend
npm i

После того, как все зависимости будут установлены, можно поднять dev-сервер. Здесь есть 2 пути: можно, следуя инструкции выше, поднять backend на своей машине через Docker. Если же разработка не привязывается к специфичной версии backend, то более быстрым и удобным способ будет использовать наш dev-сервер, расположенный под адресу https://dev.account.ely.by.

В любом из случаев необходимо в папке frontend/config скопировать файл template.env.js в env.js (находится под .gitignore) и указать в параметре apiHost или свой локальный сервер (тот хост, что был указан в .env как VIRTUAL_HOST), или указав просто https://dev.account.ely.by.

После того, как это будет сделано, запускаем dev-сервер (находясь в папке frontend):

npm start

dev-сервер поднимется на 8080 порту и будет доступен по адресу http://localhost:8080.

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

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

docker-compose exec app bash

// Старый вариант

Сперва, с помощью команды docker ps мы увидим все запущенные контейнеры. Нас интересуют значения из первой колонки CONTAINER ID или NAMES. Узнать, чему они соответствуют можно прочитав название IMAGE из 2 колонки. Чтобы выполнить команду внутри работабщего контейнера, нужно выполнить:

docker exec -it accountelyby_app_1 bash

Где accountelyby_app_1 - одно из значений CONTAINER ID или NAMES. Для выхода из контейнера используем exit.