Обзор развертывания Quantux на сервере¶
Предварительные требования¶
Для корректной работы приложения требуются следующие параметры конфигурации:
| Параметр | Значение |
|---|---|
| Операционная система | Ubuntu |
| Внешний порт | 443 (HTTPS) |
| Внутренний порт | 8082 |
| Доступ к Docker | Требуется установленный Docker и Docker Compose |
FDQN итоговой панели на домене hostkey.in¶
Доменное имя формируется согласно следующему шаблону:
| Параметр | Значение |
|---|---|
| Префикс | quantux |
| Домен | hostkey.in |
| Полный шаблон | quantux{Server_ID_from_Invapi}.hostkey.in |
Структура файлов и каталогов¶
Основные директории, используемые в системе:
-
/opt/quantux— рабочая директория приложения (содержитquantux-compose.yml). -
/root/nginx— конфигурация прокси-сервера Nginx. -
/data/nginx/user_conf.d— пользовательские конфигурации Nginx. -
/data/nginx/nginx-certbot.env— переменные окружения для Certbot. -
/opt/quant-ux/data— данные базы данных MongoDB. -
/opt/quant-ux/quant-ux-data— пользовательские данные приложения (изображения и файлы).
Процесс установки приложения¶
Развертывание выполняется путем запуска контейнеров через Docker Compose. Приложение состоит из основного программного обеспечения Quantux и прокси-сервера Nginx для управления SSL-сертификатами. Сначала разворачивается инфраструктура приложения в директории /opt/quantux, а затем настраивается обратный прокси nginx-certbot в директории /root/nginx.
Контейнеры Docker и их запуск¶
Прокси-сервер (Nginx Certbot)¶
Контейнер отвечает за управление SSL-сертификатами через Let's Encrypt.
-
Имя образа:
jonasal/nginx-certbot:latest -
Сеть:
host -
Тома (volumes):
-
nginx_secrets:/etc/letsencrypt -
/data/nginx/user_conf.d:/etc/nginx/user_conf.d -
Переменные окружения:
CERTBOT_EMAIL=hkadm@hostkey.com -
Политика перезапуска:
unless-stopped
Основные контейнеры приложения (Quantux)¶
| Имя контейнера | Имя образа | Порты | Тома (volumes) | Политика перезапуска |
|---|---|---|---|---|
quant-ux-smtp-sink | axllent/mailpit | — | — | always |
quant-ux-mongo | mongo | — | /opt/quant-ux/data:/data/db | always |
quantux{Server_ID}.hostkey.in | klausenschaefersinho/quant-ux | 127.0.0.1:8082:8082 | — | always |
quant-ux-backend | bmcgonag/qux-be | — | /opt/quant-ux/quant-ux-data:/app-data | always |
quant-ux-websocket-server | klausenschaefersinho/quant-ux-websocket | — | — | always |
Базы данных¶
В качестве системы управления базами данных используется MongoDB.
-
Имя контейнера:
quant-ux-mongo -
Место хранения данных:
/opt/quant-ux/data:/data/db -
Настройки подключения (в backend):
mongodb://quant-ux-mongo:27017, база данныхquantux.
Обновление приложения¶
Обновление выполняется через подтягивание новых версий образов и перезапуск контейнеров. Для обновления необходимо выполнить команды в директориях проекта:
Настройки прав¶
Права доступа к основным директориям настроены следующим образом:
-
/opt/quantux: владелецroot, группаroot, режим0750. -
/opt/quantux/quantux-compose.yml: владелецroot, группаroot, режим0640. -
/root/nginx: владелецroot, группаroot, режим0755.
Доступные порты для подключения¶
| Порт | Назначение | Доступность |
|---|---|---|
443 | Веб-интерфейс (HTTPS) | Внешний |
8082 | Внутренний доступ к фронтенду | Только локально (127.0.0.1) |
Запуск, остановка приложения¶
Управление контейнерами осуществляется через Docker Compose в директориях /opt/quantux и /root/nginx.
Запуск всех сервисов:
Остановка всех сервисов: