Перейти к основному содержимому

Развёртывание

Деплой через Makefile

# Первый раз: сгенерировать пароли
make generate-passwords

# Деплой всего стека (QMServer, QMAdmin, QMWeb, QMDocs)
make deploy

Компоненты на сервере

СервисПортДомен
QMServer8240api-mc.qx-dev.ru
QMAdmin8241admin-mc.qx-dev.ru
QMWeb8242web.qx-dev.ru
QMDocs8243docs.qx-dev.ru
Nginx (на хосте)80, 443Reverse 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:8240
  • admin-mc.qx-dev.ru.conf → 127.0.0.1:8241
  • web.qx-dev.ru.conf → 127.0.0.1:8242
  • docs.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 доступна по адресам:

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. Настройка:

  1. Зарегистрировать приложение на account.ely.by/dev/applications/new (тип: Website).
  2. Указать Redirect URI: https://api-mc.qx-dev.ru/api/v1/auth/ely/callback (или ваш домен API).
  3. Добавить в env QMServer Cloud:
    • ELY_CLIENT_ID — Client ID из приложения
    • ELY_CLIENT_SECRET — Client Secret
    • ELY_REDIRECT_URI — тот же URL, что в п.2
    • ELY_FRONTEND_REDIRECThttps://web.qx-dev.ru (куда редиректить после OAuth)