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

Обзор развертывания BrainyCP на сервере

Предварительные требования

Перед развертыванием приложения убедитесь, что сервер соответствует следующим требованиям:

  • Операционная система: Linux-дистрибутив, совместимый с Docker.

  • Права доступа: Требуется доступ root или учетная запись с правами sudo для управления Docker и системными директориями.

  • Доменная зона: Развертывание настроено для доменной зоны hostkey.in.

  • Требуемые порты:

  • Порт 8000: Внутренняя коммуникация для приложения BrainyCP.

  • Порт 443: Внешний безопасный (HTTPS) доступ к веб-интерфейсу.

FQDN конечной панели

Полное доменное имя (FQDN) для доступа к панели следует специфической конвенции именования, определенной в конфигурации:

  • Формат: brainycp<Server ID>.hostkey.in:443

  • Заменяемая переменная <Server ID> представляет уникальный идентификатор для конкретного экземпляра сервера.

  • Трафик маршрутизируется через Nginx по протоколу HTTPS.

Структура файлов и директорий

Приложение и его вспомогательные компоненты используют следующую структуру директорий:

  • Установка приложения: /usr/local/brainycp

  • Расположение скрипта установки: /root/install.sh

  • Директория конфигурации Nginx: /root/nginx

  • Конфигурация пользователя Nginx: /data/nginx/user_conf.d

  • Секреты Let's Encrypt (Docker Volume): Подключение к /etc/letsencrypt внутри контейнера.

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

Приложение BrainyCP устанавливается с помощью специального скрипта установки, предоставляемого разработчиком:

  1. Скрипт установки загружается с http://core.brainycp.com/install.sh.

  2. Скрипт сохраняется в расположение /root/install.sh.

  3. Выполнение установщика размещает бинарные файлы приложения и начальные файлы конфигурации в директории /usr/local/brainycp.

  4. Приложение конфигурируется для прослушивания внутреннего порта 8000.

Docker-контейнеры и их развертывание

Решение для обратного прокси и управления SSL развертывается с помощью Docker Compose. Развертывание состоит из следующих сервисов:

  • Образ: jonasal/nginx-certbot:latest

  • Политика перезапуска: unless-stopped

  • Режим сети: host

  • Переменные окружения:

  • CERTBOT_EMAIL: Установлено значение hkadm@hostkey.com

  • Томы (Volumes):

  • nginx_secrets: Внешний том, подключенный к /etc/letsencrypt для хранения SSL-сертификатов.

  • Путь на хосте /data/nginx/user_conf.d монтируется в /etc/nginx/user_conf.d внутри контейнера.

Конфигурация развертывания определена в файле docker-compose, расположенном по адресу /root/nginx/compose.yml.

Прокси-серверы

Приложение обслуживается прокси-сервером Nginx, управляемым через Docker, для обработки терминации SSL и маршрутизации:

  • Движок прокси: Nginx, работающий внутри Docker-контейнера.

  • Управление SSL: Автоматизировано через образ nginx-certbot для обработки сертификатов Let's Encrypt.

  • Конфигурация маршрутизации:

  • Прокси прослушивает внешний порт 443.

  • Трафик пересылается на приложение, запущенное локально на 127.0.0.1:8002 (Примечание: Скрипт конфигурации обновляет параметр прокси-пересылки на этот порт, отличный от внутреннего порта приложения 8000, указанного в базовой конфигурации, что указывает на специфическую схему привязки прокси и приложения).

  • Пользовательские домены: Файлы конфигурации для пользовательских доменов хранятся в /data/nginx/user_conf.d с паттерном именования brainycp<Server ID>.hostkey.in.conf.

Настройки разрешений

К следующим критическим директориям и файлам применяются следующие настройки разрешений:

Путь Владелец Группа Режим Описание
/root/nginx root root 0755 Директория для конфигурации Docker Compose для Nginx.
/root/nginx/compose.yml root root 0644 Файл определения Docker Compose.
/usr/local/brainycp root root Default Директория установки приложения.

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

Ключевые файлы конфигурации и места хранения данных следующие:

  • Определение Docker Compose: /root/nginx/compose.yml

  • Переменные окружения Nginx: /data/nginx/nginx-certbot.env

  • Конфигурация сайта Nginx: /data/nginx/user_conf.d/brainycp<Server ID>.hostkey.in.conf

  • Данные приложения: Хранятся внутри директории приложения /usr/local/brainycp.

Доступные порты для подключения

Следующие порты настроены для развертывания:

  • Порт 443: Внешний доступ через HTTPS (Nginx Proxy).

  • Порт 8000: Внутренний порт, используемый приложением BrainyCP.

  • Порт 8002: Внутренний порт, используемый прокси-сервером Nginx для пересылки запросов на бэкенд (как настроено в скрипте прокси).

Запуск, остановка и обновление

Сервис прокси управляется с помощью команд Docker Compose, выполняемых из директории /root/nginx:

  • Запуск или перезапуск сервисов:

    docker compose up -d
    

  • Остановка сервисов:

    docker compose down
    

  • Обновление сервисов: Для обновления образа прокси или конфигурации, загрузите последний образ и перезапустите контейнеры:

    docker compose pull
    docker compose up -d
    

Для обновления самого приложения BrainyCP скрипт установщика по адресу /root/install.sh должен быть выполнен повторно с соответствующими флагами, предоставленными вендором, либо бинарные файлы приложения в /usr/local/brainycp должны быть заменены вручную.

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