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

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

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

Для успешного развертывания приложения необходимо наличие сервера с операционной системой Ubuntu. Требуется наличие прав суперпользователя (root) для выполнения операций установки и конфигурирования.

Приложение требует доступа к интернету для загрузки установочного скрипта и получения SSL-сертификатов. Для работы веб-интерфейса и получения сертификатов должны быть открыты порты 80 и 443. В конфигурации также используется порт 8080 для работы веб-сервера Nginx внутри приложения.

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

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

  • /root/plane-app/ — основная директория приложения Plane, содержащая переменные окружения и исполняемые файлы.

  • /root/nginx/ — директория для конфигурации прокси-сервера Nginx и сертификатов.

  • /root/nginx/compose.yml — файл конфигурации Docker Compose для запуска Nginx и Certbot.

  • /root/plane-app/plane.env — файл переменных окружения для приложения Plane.

  • /data/nginx/user_conf.d/ — директория для пользовательских конфигураций Nginx.

  • /data/nginx/nginx-certbot.env — файл переменных окружения для сервиса Nginx-Certbot.

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

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

  1. Обновление пакетов системы через менеджер пакетов APT.

  2. Создание директории для данных приложения.

  3. Загрузка установочного скрипта setup.sh версии v1.0.0 с репозитория GitHub в файл /root/install.sh.

  4. Запуск скрипта с аргументом установки, который автоматически выбирает действие установки.

  5. Модификация файла /root/plane-app/plane.env для изменения порта Nginx на 8080.

  6. Настройка переменной CORS_ALLOWED_ORIGINS в файле /root/plane-app/plane.env с указанием доменного имени в формате https://{{ prefix }}{{ server_id }}.hostkey.in.

  7. Запуск скрипта с аргументом запуска для инициализации сервиса.

Контейнеры Docker и их запуск

Приложение использует Docker для запуска компонентов. Для управления контейнерами используется Docker Compose.

В директории /root/nginx/ размещается файл compose.yml, который описывает сервис nginx с образом jonasal/nginx-certbot:latest. Сервис настроен на автоматический перезапуск (restart: unless-stopped) и использует режим сети host.

Сервис монтирует следующие тома:

  • nginx_secrets в /etc/letsencrypt для хранения SSL-сертификатов.

  • Локальную директорию /data/nginx/user_conf.d в /etc/nginx/user_conf.d для конфигураций.

Запуск контейнеров выполняется командой docker compose up -d из директории /root/nginx/.

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

В конфигурации используется прокси-сервер Nginx в связке с Certbot для автоматического получения и продления SSL-сертификатов.

Сервис Nginx использует образ jonasal/nginx-certbot:latest. Для регистрации и уведомлений используется адрес электронной почты hkadm@hostkey.com. Конфигурация прокси сервера хранится в директории /root/nginx/, а переменные окружения загружаются из файла /data/nginx/nginx-certbot.env.

Настройки прав

Права доступа к файлам и директориям устанавливаются следующим образом:

  • Директория /root/nginx создается с правами 0755 и владельцем root.

  • Файл /root/nginx/compose.yml создается с правами 0644 и владельцем root.

  • Директория для данных Plane создается с правами 0755.

  • Скрипт установки /root/install.sh получает права на выполнение 0755.

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

Управление сервисом Nginx и Certbot осуществляется через Docker Compose в директории /root/nginx/.

Для запуска контейнеров используется команда:

docker compose up -d
выполняемая из директории /root/nginx.

Обновление конфигурации или образов контейнеров требует повторного запуска команды docker compose up -d после внесения изменений в файл compose.yml или переменные окружения.

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