OpenSpec: разнести openspec по проектам

This commit is contained in:
2026-09-11 17:30:17 +00:00
parent 757f3413e9
commit f44bc27ce1
20 changed files with 1846 additions and 0 deletions
@@ -0,0 +1,70 @@
# Proposal: Локальные сервисы календаря (Radicale) и задач (Vikunja)
## Why
Для синхронизации календаря и задач с Android-телефоном нужны локальные
сервисы (без облака). Пользователь хочет:
- **Календарь** — нативная синхронизация с Android
- **Трекер задач** — с веб-UI и API, чтобы веб-интерфейс почты мог
создавать задачи кнопкой
- Всё **локально** (bigbox), без облачных зависимостей
Сейчас календаря и трекера задач **нет** (проверено: порт 5232 свободен,
образы radicale/vikunja не установлены). Порт 8080 занят NetBox.
## What Changes
Два новых сервиса в `/opt/hermes/`:
### 1. Radicale (CalDAV) — календарь + задачи VTODO
- **Порт:** 5232 (свободен)
- **Путь:** `/opt/hermes/radicale/`
- **Способ:** Python pip (лёгкий, systemd) ИЛИ docker
- **Назначение:** CalDAV-сервер для:
- Календаря «Личный» + «Рабочий» (синхронизация с Android через DAVx5)
- Задач (VTODO) — тоже через CalDAV
- **Конфиг:** лёгкий, single-user (правки через UI/файл)
### 2. Vikunja (трекер задач) — веб-UI + REST API + Android app
- **Порт:** 3456 (дефолт Vikunja, свободен)
- **Путь:** `/opt/hermes/vikunja/`
- **Способ:** docker compose (postgres + vikunja)
- **Назначение:**
- Трекер задач с веб-интерфейсом (kanban/список)
- **REST API** — для кнопки «Создать задачу» из веб-интерфейса почты
- Android-приложение (нативный клиент Vikunja)
- **БД:** PostgreSQL (docker), данные в volume
### Общие решения
- **Доступ:** 127.0.0.1 (локально) + опционально через Caddy reverse proxy
на поддомене (caddy есть в /opt/gitea.nixg.ru)
- **Порты:** 5232 (radicale), 3456 (vikunja) — не конфликтуют с 8080 (NetBox)
- **Авторизация:** Radicale — HTTP Basic (логин/пароль в конфиге);
Vikunja — своя (регистрация/логин, API-токены)
## Capabilities
### New Capabilities
- `calendar-caldav`: Локальный CalDAV-сервер (Radicale) для календаря и
задач, синхронизация с Android через DAVx5
- `task-tracker-vikunja`: Локальный трекер задач Vikunja с веб-UI и REST API,
интеграция с веб-интерфейсом почты через API-токен
### Modified Capabilities
<!-- нет -->
## Impact
- **Новые сервисы:** `/opt/hermes/radicale/`, `/opt/hermes/vikunja/`
- **Порты:** 5232 (radicale), 3456 (vikunja) — новые
- **Данные:** календари/задачи будут храниться локально
- **Документация:** обновить README/STATUS (порты, логины, как синхронизировать)
- **Риск:** Vikunja тянет Postgres (память/диск); Radicale — минимален
## Rollback
1. **Radicale:** `systemctl stop radicale` + удалить `/opt/hermes/radicale/`
2. **Vikunja:** `docker compose -f /opt/hermes/vikunja/docker-compose.yml down -v`
(удалить контейнеры и volume с данными) + убрать `/opt/hermes/vikunja/`
3. Убрать упоминания из README/STATUS
4. Вернуть порты в исходное состояние (оба сейчас свободны, конфликтов нет)