Обзор развертывания Quantux на сервере¶
Предварительные требования¶
Для корректной работы приложения требуются следующие параметры системы и сетевые настройки:
-
Операционная система: Ubuntu.
-
Права доступа: Права суперпользователя (root) для управления контейнерами и системными директориями.
-
Доменное имя: Требуется наличие настроенного DNS для работы через SSL.
-
Сетевые порты:
-
443(внешний порт HTTPS). -
8082(внутренний порт приложения).
FDQN итоговой панели на домене hostkey.in¶
Для доступа к интерфейсу используется следующий шаблон доменного имени:
| Параметр | Значение |
|---|---|
| Префикс | quantux |
| Домен | hostkey.in |
| Полный шаблон | quantux{Server_ID}.hostkey.in |
Структура файлов и каталогов¶
В процессе развертывания создаются следующие директории для хранения конфигураций и данных:
-
/opt/quantux— рабочая директория приложения. -
/opt/quant-ux/data— хранилище данных базы данных MongoDB. -
/opt/quant-ux/quant-ux-data— пользовательские данные приложения (изображения, файлы). -
/root/nginx— конфигурация прокси-сервера и SSL. -
/data/nginx/user_conf.d— пользовательские конфигурации Nginx.
Процесс установки приложения¶
Развертывание выполняется в несколько этапов:
-
Подготовка системы: Установка Docker и создание необходимых директорий (
/opt/quantux,/root/nginx). -
Настройка прокси-сервера: Создание конфигурационного файла
compose.ymlдля Nginx, который обеспечивает работу SSL через Certbot. -
Развертывание контейнеров приложения:
-
Загрузка необходимых Docker-образов.
-
Инициализация сервисов через Docker Compose на основе файла
/opt/quantux/quantux-compose.yml.
Контейнеры Docker и их запуск¶
Приложение состоит из группы связанных контейнеров, управляемых через docker compose.
Сервисы приложения (Docker Compose)¶
| Имя контейнера | Образ | Порты | Тома (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 |
Прокси-сервер (SSL)¶
Для обеспечения защищенного соединения используется отдельный контейнер:
-
Имя образа:
jonasal/nginx-certbot:latest -
Режим сети:
host -
Тома:
-
nginx_secrets:/etc/letsencrypt(для хранения SSL-сертификатов) -
/data/nginx/user_conf.d:/etc/nginx/user_conf.d(пользовательские конфиги) -
Переменные окружения: Указывается почта для получения уведомлений от Certbot (
CERTBOT_EMAIL).
Базы данных¶
В качестве системы управления базами данных используется контейнер mongo. Данные базы данных хранятся локально на хосте в директории /opt/quant-ux/data для обеспечения сохранности при перезапуске контейнеров. Приложение подключается к базе по внутреннему адресу mongodb://quant-ux-mongo:27017.
Инструкция по обновлению приложения¶
Для обновления основного приложения необходимо выполнить следующие действия в директории /opt/quantux:
Расположение конфигурационных файлов и данных¶
| Тип данных | Путь на сервере |
|---|---|
| Конфигурация Docker Compose (приложение) | /opt/quantux/quantux-compose.yml |
| Конфигурация Docker Compose (прокси) | /root/nginx/compose.yml |
| Данные базы данных | /opt/quant-ux/data |
| Пользовательские данные приложения | /opt/quant-ux/quant-ux-data |
Доступные порты для подключения¶
-
HTTPS (внешний доступ):
443(через прокси-сервер). -
Внутренний порт приложения:
8082(доступен локально на сервере).