Обзор развертывания BrainyCP на сервере¶
Предварительные требования¶
Для успешного развертывания приложения необходимо наличие следующих условий:
-
Операционная система: Ubuntu.
-
Права доступа: доступ к пользователю
rootили с правамиsudo. -
Домен: зона
hostkey.in. -
Установленный пакет
wgetдля загрузки установщика.
FQDN итоговой панели¶
Доступ к панели управления осуществляется по следующему адресу:
-
Домен:
brainycp<ID сервера>.hostkey.in. -
Порт:
443(HTTPS). -
Внутренний порт приложения:
8000.
Структура файлов и каталогов¶
Приложение и его компоненты размещаются в следующих директориях:
-
Каталог установки приложения:
/usr/local/brainycp. -
Скрипт установщика:
/root/install.sh. -
Конфигурация прокси-сервера и сертификатов:
/root/nginx. -
Файл конфигурации Docker Compose:
/root/nginx/compose.yml. -
Конфигурация пользователя Nginx:
/data/nginx/user_conf.d/brainycp<ID сервера>.hostkey.in.conf. -
Переменные окружения для Nginx:
/data/nginx/nginx-certbot.env. -
Хранилище секретов Let's Encrypt:
/etc/letsencrypt(подключено через томnginx_secrets).
Процесс установки приложения¶
Установка производится с использованием официального скрипта от разработчика:
-
Проверяется наличие директории
/usr/local/brainycp. Если она отсутствует, запускается процесс установки. -
Устанавливается пакет
wgetчерез менеджер пакетовapt. -
Скрипт установщика скачивается с адреса
http://core.brainycp.com/install.shв путь/root/install.sh. -
Запускается скрипт установки в режиме автоматического подтверждения всех запросов командой
yes | bash ./install.sh. -
После успешной установки сервер автоматически перезагружается.
Контейнеры Docker и их запуск¶
Для работы прокси-сервера и управления сертификатами используется контейнер Docker:
-
Образ:
jonasal/nginx-certbot:latest. -
Режим сети:
host. -
Политика перезапуска:
unless-stopped. -
Том для хранения секретов:
nginx_secrets(подключен к/etc/letsencrypt). -
Том для пользовательских конфигов:
/data/nginx/user_conf.d(подключен к/etc/nginx/user_conf.d).
Запуск контейнера осуществляется через команду docker compose up -d в директории /root/nginx.
Прокси серверы¶
В качестве прокси-сервера используется Nginx в контейнере Docker с поддержкой Certbot:
-
Домен:
brainycp<ID сервера>.hostkey.in. -
Входящий порт:
443. -
Внутренний путь:
/. -
Адрес проксирования:
http://127.0.0.1:8002. -
Email для сертификатов:
hkadm@hostkey.com. -
Конфигурация проксирования добавляется в файл
/data/nginx/user_conf.d/brainycp<ID сервера>.hostkey.in.confв блокlocation /.
Настройки прав¶
Права доступа к файлам и директориям настроены следующим образом:
-
Директория
/root/nginx: владелецroot, группаroot, права0755. -
Файл
/root/nginx/compose.yml: владелецroot, группаroot, права0644. -
Скрипт
/root/install.sh: права0700.
Расположение конфигурационных файлов и данных¶
Основные конфигурационные файлы находятся в следующих местах:
-
/root/nginx/compose.yml— описание сервиса Docker. -
/data/nginx/nginx-certbot.env— переменные окружения для Nginx. -
/data/nginx/user_conf.d/brainycp<ID сервера>.hostkey.in.conf— конфигурация виртуального хоста. -
/etc/letsencrypt— сертификаты SSL (через том Docker).
Доступные порты для подключения¶
Следующие порты используются для работы приложения:
-
Порт
443(HTTPS) — внешний доступ к панели управления. -
Порт
8000— внутренний порт приложения BrainyCP. -
Порт
8002— порт, используемый прокси-сервером для пересылки запросов.
Запуск, остановка и обновление¶
Управление контейнером прокси-сервера осуществляется через Docker Compose в директории /root/nginx:
-
Запуск:
docker compose up -d. -
Остановка:
docker compose down. -
Обновление:
docker compose pullиdocker compose up -d.
Для обновления самого приложения BrainyCP необходимо повторить процесс установки через скрипт /root/install.sh, если это требуется разработчиком.