Перейти к содержанию

Обзор развертывания 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.

Процесс установки приложения

Развертывание выполняется в несколько этапов:

  1. Подготовка системы: Установка Docker и создание необходимых директорий (/opt/quantux, /root/nginx).

  2. Настройка прокси-сервера: Создание конфигурационного файла compose.yml для Nginx, который обеспечивает работу SSL через Certbot.

  3. Развертывание контейнеров приложения:

  4. Загрузка необходимых Docker-образов.

  5. Инициализация сервисов через 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 pull && docker compose up -d

Расположение конфигурационных файлов и данных

Тип данных Путь на сервере
Конфигурация 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 (доступен локально на сервере).

question_mark
Я могу вам чем-то помочь?
question_mark
ИИ Помощник ×