4.6 KiB
ТЗ: Установка 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 хранилище файлов)
Финальная проверка
docker ps— все контейнерыUp(кроме plane-migrator которыйExited 0)curl -I http://localhost:8091/— HTTP 200 или 302- Открыть в браузере
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