# Plane — трекер задач и проектов

**Дата старта:** 2026-04-26  
**Хост:** mva154 (82.22.50.71)  
**Статус:** ✅ Шаг 1 выполнен → Шаг 2 (изучение)

---

## Цель

Перевести ведение всех проектов и задач в self-hosted Plane.  
Этапы: Установка → Изучение → Правила работы → Переход.

---

## Требования к установке

### Хост mva154 — фактические характеристики

| Параметр | Значение | Статус |
|---|---|---|
| CPU | 4 ядра | ✅ (Plane требует 2+) |
| RAM | 7.7 GB, 4.4 GB свободно | ✅ (Plane требует 4 GB) |
| Диск | 54 GB, **5.6 GB свободно (90%!)** | ⚠️ КРИТИЧНО |
| Docker | 29.3.0 | ✅ |
| Docker Compose | v5.1.0 | ✅ |

### ⚠️ Проблема с диском

На mva154 занято **90% диска** — свободно только **5.6 GB**.  
Plane Community Edition: Docker images ~2.5 GB + данные.  
**Необходимо освободить минимум 5 GB перед установкой.**

Что занимает место — нужно проверить (`du -sh /* 2>/dev/null | sort -rh | head -20`).  
Кандидаты на очистку: старые Docker images, логи, временные файлы.

---

## Что будет установлено

**Plane Community Edition** (open source, без регистрации)

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

---

## План установки (Шаг 1)

### 1. Освободить место на диске
```bash
# Проверить что занимает место
du -sh /var/lib/docker 2>/dev/null | head -5
docker system df  # сколько занимает Docker

# Очистить неиспользуемые Docker-ресурсы
docker system prune -f
docker image prune -a -f  # только если не нужны старые образы
```

### 2. Создать директорию и скачать setup.sh
```bash
mkdir -p /home/slin/plane-selfhost
cd /home/slin/plane-selfhost
curl -fsSL -o setup.sh https://github.com/makeplane/plane/releases/latest/download/setup.sh
chmod +x setup.sh
```

### 3. Установить (выбрать опцию 1)
```bash
./setup.sh
# → выбрать 1 (Install)
# → выбрать архитектуру (x86/AMD64)
# → выйти (8)
```

### 4. Настроить plane.env
Ключевые параметры для правки в `plane-app/plane.env`:

```bash
# Порт (выбрать свободный, например 8091)
LISTEN_HTTP_PORT=8091
LISTEN_HTTPS_PORT=8441

# URL доступа
WEB_URL=http://82.22.50.71:8091
CORS_ALLOWED_ORIGINS=http://82.22.50.71:8091

# Файлы (увеличить лимит)
FILE_SIZE_LIMIT=20  # MB

# Secret key (сгенерировать случайный)
SECRET_KEY=<random-50-char-string>
```

### 5. Запустить
```bash
./setup.sh
# → выбрать 2 (Start)
```

### 6. Первый вход
- Открыть `http://82.22.50.71:8091`
- Создать первого пользователя (admin)
- Создать первый workspace

---

## Порт

На mva154 уже заняты порты через nginx:
- 5555 — noisemap
- 5556 — snowbike
- 5557 — snowbike-rag

**URL:** https://plane.mva154.duckdns.org (HTTPS, через nginx)
**Внутренний порт:** 8091 (plane-proxy контейнер)

---

## Структура в workspace

```
tasks/plane/
├── PROJECT.md          ← этот файл
├── plane.env.example   ← шаблон конфига
└── RULES.md            ← правила работы (Шаг 3)
```

---

## Следующие шаги

- [x] **Шаг 1а:** Диск очищен (с 90% до 69%, свободно 17 GB)
- [x] **Шаг 1б:** Plane Community Edition v1.3.0 установлен
- [x] **Шаг 1в:** SSL + nginx + домен настроены
- [ ] **Шаг 2:** Слава изучает интерфейс и возможности
- [ ] **Шаг 3:** Подготовить правила работы (воркспейс, проекты, метки, workflow)
- [ ] **Шаг 4:** Перенести все текущие проекты/задачи
