147 lines
4.6 KiB
Markdown
147 lines
4.6 KiB
Markdown
# ТЗ: Установка 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`
|