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

147 lines
4.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# ТЗ: Установка 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. Создать директорию
```bash
mkdir -p /home/slin/plane-selfhost
cd /home/slin/plane-selfhost
```
### 2. Скачать и запустить setup.sh (Community Edition)
```bash
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`:
```bash
# Порт
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
```bash
cd /home/slin/plane-selfhost
./setup.sh
# выбрать 2 (Start)
```
Дождаться запуска всех контейнеров (~2-5 минут, скачает образы).
### 5. Проверить что работает
```bash
# Все контейнеры должны быть Up
docker ps | grep plane
# Проверить HTTP
curl -s -o /dev/null -w "%{http_code}" http://localhost:8091/
# Должно быть 200 или 302
```
### 6. Добавить в nginx (если есть конфиг)
Проверить есть ли nginx на mva154:
```bash
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`