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

Обзор развертывания 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 устанавливается с помощью официального скрипта установки, предоставленного разработчиками. Процесс включает следующие шаги:

  1. Обновление и обновление всех пакетов APT в системе Ubuntu.

  2. Создание необходимого каталога данных в /opt/plane.

  3. Загрузка скрипта установки со страницы релизов Plane на GitHub (версия v1.0.0) в /root/install.sh.

  4. Выполнение скрипта с действием install для развертывания компонентов приложения.

  5. Изменение файла конфигурации окружения, расположенного в /root/plane-app/plane.env, для установки порта Nginx в значение 8080.

  6. Обновление переменной CORS_ALLOWED_ORIGINS в том же файле окружения для соответствия FQDN https://plane<Server ID>.hostkey.in.

  7. Повторное выполнение скрипта с действием 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. Скрипт предоставляет интерактивные опции для выполнения действий, таких как запуск или остановка сервисов приложения.

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