Развёртывание
Деплой через Makefile
# Первый раз: сгенерировать пароли
make generate-passwords
# Деплой всего стека (QMServer, QMAdmin, QMWeb, QMDocs)
make deploy
Компоненты на сервере
| Сервис | Порт | Домен |
|---|---|---|
| QMServer | 8240 | api-mc.qx-dev.ru |
| QMAdmin | 8241 | admin-mc.qx-dev.ru |
| QMWeb | 8242 | web.qx-dev.ru |
| QMDocs | 8243 | docs.qx-dev.ru |
| Nginx (на хосте) | 80, 443 | Reverse proxy → 127.0.0.1:8241–8243 |
Nginx (на хосте)
Nginx устанавливается на хост, не в Docker. При деплое конфиги из nginx/sites-available/ копируются в /etc/nginx/sites-available/, в /etc/nginx/sites-enabled/ создаются симлинки на них.
api-mc.qx-dev.ru.conf→ 127.0.0.1:8240admin-mc.qx-dev.ru.conf→ 127.0.0.1:8241web.qx-dev.ru.conf→ 127.0.0.1:8242docs.qx-dev.ru.conf→ 127.0.0.1:8243
DNS
Настроить A-записи для доменов на IP сервера:
- api-mc.qx-dev.ru
- admin-mc.qx-dev.ru
- web.qx-dev.ru
- docs.qx-dev.ru
Swagger / ReDoc
Документация API доступна по адресам:
- Swagger UI: https://api-mc.qx-dev.ru/docs (редирект на /swagger) или https://api-mc.qx-dev.ru/swagger/index.html
- ReDoc: https://api-mc.qx-dev.ru/redoc
SSL и CloudFlare
Nginx настроен для работы с CloudFlare:
- Редирект HTTP → HTTPS
- Real IP из заголовка CF-Connecting-IP
- Gzip сжатие
- Кэширование статики (JS, CSS, изображения)
Сертификаты Let's Encrypt в /etc/letsencrypt/live/DOMAIN/:
fullchain.pem,privkey.pem
Выпустите сертификаты заранее (certbot) для каждого домена. В каждом конфиге указан путь по имени домена.
Ely.by OAuth (привязка аккаунта Ely.by)
Для использования скинов Ely.by пользователям нужно привязать аккаунт Ely.by. Настройка:
- Зарегистрировать приложение на account.ely.by/dev/applications/new (тип: Website).
- Указать Redirect URI:
https://api-mc.qx-dev.ru/api/v1/auth/ely/callback(или ваш домен API). - Добавить в env QMServer Cloud:
ELY_CLIENT_ID— Client ID из приложенияELY_CLIENT_SECRET— Client SecretELY_REDIRECT_URI— тот же URL, что в п.2ELY_FRONTEND_REDIRECT—https://web.qx-dev.ru(куда редиректить после OAuth)