mirror of
https://gitverse.ru/kpa39l/email-assistant.git
synced 2026-09-29 09:15:09 +00:00
OpenSpec: разнести openspec по проектам
This commit is contained in:
@@ -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. Вернуть порты в исходное состояние (оба сейчас свободны, конфликтов нет)
|
||||
Reference in New Issue
Block a user