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

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

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

  • Операционная система Ubuntu (проверено на версиях 20.04 и 22.04).
  • Доступ с привилегиями пользователя root (или пользователя с правом sudo).
  • Свободное место на диске для хранения контейнеров Docker и данных Plane.
  • Подключение к Интернету для скачивания пакетов и образов Docker.

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

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

Путь Описание Права доступа
/root/nginx/ Рабочий каталог для Docker‑композиса Nginx‑Certbot root:root 0755
/root/nginx/compose.yml Файл docker‑compose, генерируемый из шаблона root:root 0644
/root/plane-app/plane.env Конфигурационный файл окружения Plane (изменён в процессе установки) root:root 0644
/root/install.sh Сценарий установки Plane (скачан с GitHub) root:root 0755
<plane_data_dir> (значение переменной plane_data_dir в playbook) Хранилище данных Plane root:root 0755

Важно: Каталог plane_data_dir создаётся только в случае, если в конфигурации заданы пути к данным.

Права доступа и безопасность

  • Все файлы, созданные скриптом установки, принадлежат пользователю root.
  • Права на файлы ограничены 0644 для конфигурационных файлов и 0755 для исполняемых скриптов.
  • Docker‑контейнер nginx запускается в режиме host, что даёт ему доступ к сетевому стеку сервера, но все данные сертификатов находятся в Docker‑volume nginx_secrets (экстernal volume).
  • Настройки окружения, такие как CERTBOT_EMAIL, находятся в переменных окружения, а не в открытом тексте файла compose.yml.

Базы данных

В предоставленных файлах нет прямой ссылки на БД. Планируется, что Plane будет использовать собственную схему хранения данных внутри контейнера, а не внешнюю базу.

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

Nginx‑Certbot

В качестве прокси‑серверов используется контейнер jonasal/nginx-certbot:latest. Он создаётся и запускается через Docker‑compose.

Шаги установки: 1. Создаётся каталог /root/nginx и копируется шаблон compose.yml.j2 в /root/nginx/compose.yml. 2. В compose.yml указываются: - image: jonasal/nginx-certbot:latest - Переменная окружения CERTBOT_EMAIL=hkadm@hostkey.com. - env_file: /data/nginx/nginx-certbot.env. - network_mode: host. - Внешний volume nginx_secrets для хранения Let’s Encrypt сертификатов. - Монтирование /data/nginx/user_conf.d в каталог /etc/nginx/user_conf.d контейнера. 3. Команда docker compose up -d запускает сервисы в фоне.

Если docker compose не установлен, сначала установите Docker, затем docker compose.

Plane

Сценарий установки install.sh запускается дважды: 1. Установка – ответ 1 на приглашение «Select a Action you want to perform:» запускает процесс установки и создания необходимых файлов.
2. Запуск – ответ 2 инициирует старт приложений.

В процессе установки: - Устанавливается NGINX на порт 8080 (изменено в файле /root/plane-app/plane.env). - Задаётся CORS_ALLOWED_ORIGINS, где {{ prefix }} и {{ server_id }} заменяются на значения, предоставленные пользователем.

Прокси серверы (Nginx, Traefic и т.п.)

Plane использует nginx-certbot как прокси‑сервер с автоматическим управлением сертификатами Let’s Encrypt.
- Настройка домена: CORS_ALLOWED_ORIGINS указывает на домен вида https://<prefix><server_id>.hostkey.in.
- Монтирование пользовательских конфигураций: каталог /data/nginx/user_conf.d может содержать дополнительные конфигурационные блоки для nginx.

Внимание: network_mode: host делает контейнер nginx видимым как обычный сервис на хосте, поэтому доступ к порту 8080 остаётся открытым для внешних запросов.

Настройки прав, запуск, остановка и обновление

Запуск

# 1. Перейти в каталог с docker‑compose
cd /root/nginx

# 2. Запустить сервисы
docker compose up -d

Остановка

cd /root/nginx
docker compose down

Обновление

Для обновления Plane необходимо:

  1. Скачать новую версию install.sh с GitHub (заменить URL на нужную версию).
  2. Запустить установку с ответом 1, а затем старт с ответом 2.
  3. Перезапустить контейнеры Docker:
    cd /root/nginx
    docker compose pull
    docker compose up -d
    

Проверка статуса

docker compose ps

Логи

docker compose logs -f

Таким образом, после развертывания вы получите полностью работающее приложение Plane, защищённое HTTPS сертификатами Let’s Encrypt, с настройками CORS и возможностью управлять процессами через Docker‑compose.

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