Files
wiki/tasks/plane/SPEC_INSTALL.md
2026-04-26 14:10:01 +03:00

4.6 KiB
Raw Permalink Blame History

ТЗ: Установка Plane на mva154

Дата: 2026-04-26
Хост: mva154, slin@82.22.50.71:22 (прямой SSH, пароль из env MVA154_PASSWORD)
Доступ: ~/.openclaw/skills/installer/scripts/ssh_exec.sh --host mva154 --cmd "..."
Использовать: installer skill (session + backup + change + verify)


Задача

Установить Plane Community Edition в Docker Compose на хост mva154.
Plane — self-hosted трекер задач и проектов (аналог Jira/Linear).


Состояние хоста (проверено 2026-04-26)

  • OS: Ubuntu, Linux 5.15.0, x86_64
  • CPU: 4 ядра
  • RAM: 7.7 GB (4.4 GB свободно)
  • Диск: 54 GB, 17 GB свободно (69%) — очищено заранее
  • Docker: 29.3.0
  • Docker Compose: v5.1.0
  • Уже запущены сервисы через nginx на портах 5555, 5556, 5557

Шаги установки

1. Создать директорию

mkdir -p /home/slin/plane-selfhost
cd /home/slin/plane-selfhost

2. Скачать и запустить setup.sh (Community Edition)

curl -fsSL -o setup.sh https://github.com/makeplane/plane/releases/latest/download/setup.sh
chmod +x setup.sh
./setup.sh

При запросе выбрать: 1 (Install) для архитектуры x86/AMD64.
После установки выбрать: 8 (Exit).

Это создаст папку plane-app/ с docker-compose.yaml и plane.env.

3. Настроить plane.env

Отредактировать файл /home/slin/plane-selfhost/plane-app/plane.env:

# Порт
LISTEN_HTTP_PORT=8091

# URL (IP mva154)
WEB_URL=http://82.22.50.71:8091
CORS_ALLOWED_ORIGINS=http://82.22.50.71:8091

# Лимит файлов
FILE_SIZE_LIMIT=20

# Secret key — сгенерировать случайный 50-символьный
SECRET_KEY=$(openssl rand -hex 25)

Остальные параметры оставить по умолчанию (встроенный Postgres, Redis, MinIO).

4. Запустить Plane

cd /home/slin/plane-selfhost
./setup.sh
# выбрать 2 (Start)

Дождаться запуска всех контейнеров (~2-5 минут, скачает образы).

5. Проверить что работает

# Все контейнеры должны быть Up
docker ps | grep plane

# Проверить HTTP
curl -s -o /dev/null -w "%{http_code}" http://localhost:8091/
# Должно быть 200 или 302

6. Добавить в nginx (если есть конфиг)

Проверить есть ли nginx на mva154:

nginx -v 2>/dev/null || echo "no nginx"
ls /etc/nginx/sites-enabled/ 2>/dev/null

Если nginx есть — добавить location /plane/ или отдельный server block для порта 8091.
Если нет — Plane доступен напрямую по http://82.22.50.71:8091.


Ожидаемые контейнеры после установки

plane-proxy      — nginx reverse proxy (слушает 8091)
plane-web        — Next.js фронтенд
plane-api        — Django REST API
plane-worker     — Celery worker
plane-beat-worker — Celery Beat (планировщик)
plane-migrator   — миграции БД (завершится и остановится)
plane-db         — PostgreSQL 15
plane-redis      — Redis 7
plane-minio      — MinIO (S3 хранилище файлов)

Финальная проверка

  1. docker ps — все контейнеры Up (кроме plane-migrator который Exited 0)
  2. curl -I http://localhost:8091/ — HTTP 200 или 302
  3. Открыть в браузере http://82.22.50.71:8091 — должна появиться страница регистрации Plane

Что НЕ делать

  • Не использовать prime-cli / prime.plane.so — это Commercial Edition
  • Не менять порт PostgreSQL/Redis (используем встроенные)
  • Не трогать другие сервисы на mva154 (noisemap 5555, snowbike 5556/5557)
  • Не открывать порт 8091 в firewall без команды Славы

Результат — отчёт

По завершении написать отчёт:

  • Версия Plane установлена
  • URL доступа
  • Список запущенных контейнеров с docker ps
  • Результат curl -I http://localhost:8091/
  • Путь к plane.env: /home/slin/plane-selfhost/plane-app/plane.env