Обзор развертывания Plane на сервере¶
Предварительные требования и базовые условия¶
Для развертывания приложения Plane необходимы следующие системные характеристики и конфигурации:
-
Операционная система: Ubuntu (совместимая с управлением пакетами APT).
-
Привилегии: Для выполнения скриптов установки и управления контейнерами Docker требуются права root или привилегии
sudo. -
Конфигурация домена: Сервер должен быть настроен для разрешения домена
hostkey.in. -
Сетевые порты:
-
Порт
8080: Внутренняя коммуникация для приложения Plane. -
Порт
443: Внешний доступ по HTTPS к веб-интерфейсу.
Полное доменное имя (FQDN) финальной панели¶
Приложение доступно через полностью квалифицированное доменное имя (FQDN), сформированное с использованием префикса plane и конкретного идентификатора сервера. Формат: plane<Server ID>.hostkey.in:443
Структура файлов и каталогов¶
Приложение использует следующую структуру каталогов для хранения данных, конфигурации и логов:
-
/opt/plane: Основной каталог данных для приложения Plane. -
/root/plane-app: Каталог, содержащий бинарные файлы приложения и файлы конфигурации окружения. -
/root/nginx: Каталог, содержащий файлы конфигурации обратного прокси-сервера Nginx и Certbot. -
/root/nginx/compose.yml: Файл Docker Compose, определяющий сервисы Nginx и Certbot. -
/root/install.sh: Скрипт установки, загруженный из репозитория Plane.
Процесс установки приложения¶
Приложение Plane устанавливается с помощью официального скрипта установки, предоставленного разработчиками. Процесс включает следующие шаги:
-
Обновление и обновление всех пакетов APT в системе Ubuntu.
-
Создание необходимого каталога данных в
/opt/plane. -
Загрузка скрипта установки со страницы релизов Plane на GitHub (версия
v1.0.0) в/root/install.sh. -
Выполнение скрипта с действием
installдля развертывания компонентов приложения. -
Изменение файла конфигурации окружения, расположенного в
/root/plane-app/plane.env, для установки порта Nginx в значение8080. -
Обновление переменной
CORS_ALLOWED_ORIGINSв том же файле окружения для соответствия FQDNhttps://plane<Server ID>.hostkey.in. -
Повторное выполнение скрипта с действием
startдля запуска сервисов.
Контейнеры Docker и их развертывание¶
Развертывание использует контейнеры Docker для обратного прокси-сервера и управления SSL. Конфигурация определена в файле Docker Compose, расположенном в /root/nginx/compose.yml.
Сервис nginx настроен со следующими параметрами:
| Параметр | Значение |
|---|---|
| Образ | jonasal/nginx-certbot:latest |
| Политика перезапуска | unless-stopped |
| Режим сети | host |
| Переменная окружения | CERTBOT_EMAIL=hkadm@hostkey.com |
| Подключенные тома | nginx_secrets:/etc/letsencrypt, /data/nginx/user_conf.d:/etc/nginx/user_conf.d |
Контейнер запускается с помощью команды docker compose up -d, выполненной в каталоге /root/nginx.
Прокси-серверы¶
Обратный прокси-сервер реализован с использованием Nginx с интегрированным Let's Encrypt (Certbot) для управления SSL-сертификатами.
-
Сервис: Nginx, работающий в контейнере Docker.
-
Провайдер SSL: Certbot (через образ
jonasal/nginx-certbot). -
Конфигурация: Настройка прокси управляется через файл Docker Compose и переменные окружения, хранящиеся в
/data/nginx/nginx-certbot.env. -
Обработка доменов: Прокси настроен на обработку трафика для зоны
hostkey.in, в частности, маршрутизируя запросы к внутреннему приложению Plane.
Расположение файлов конфигурации и данных¶
Ключевые файлы конфигурации и данные находятся по следующим путям:
-
Окружение приложения:
/root/plane-app/plane.env -
Содержит
NGINX_PORT=8080. -
Содержит
CORS_ALLOWED_ORIGINS=https://plane<Server ID>.hostkey.in. -
Docker Compose:
/root/nginx/compose.yml. -
SSL-сертификаты: Хранятся в томе Docker
nginx_secrets, подключенном в/etc/letsencryptвнутри контейнера. -
Пользовательская конфигурация Nginx: Подключена на хосте в
/data/nginx/user_conf.d.
Доступные порты для подключения¶
Для приложения настроены следующие порты:
-
Порт 8080: Внутренний порт, используемый приложением Plane для связи с обратным прокси-сервером.
-
Порт 443: Внешний порт, используемый для защищенных соединений HTTPS с веб-интерфейсом.
Запуск, остановка и обновление¶
Управление сервисами обратного прокси-сервера осуществляется с помощью команд Docker Compose, выполняемых в каталоге /root/nginx:
-
Запуск/Перезапуск:
docker compose up -d -
Остановка:
docker compose down
Само приложение Plane управляется через скрипт установки, расположенный в /root/install.sh. Скрипт предоставляет интерактивные опции для выполнения действий, таких как запуск или остановка сервисов приложения.