mirror of
https://gitverse.ru/kpa39l/email-assistant.git
synced 2026-09-29 21:25:10 +00:00
70 lines
4.0 KiB
Markdown
70 lines
4.0 KiB
Markdown
# Proposal: Локальные сервисы календаря (Radicale) и задач (Vikunja)
|
||
|
||
## Why
|
||
|
||
Для синхронизации календаря и задач с Android-телефоном нужны локальные
|
||
сервисы (без облака). Пользователь хочет:
|
||
- **Календарь** — нативная синхронизация с Android
|
||
- **Трекер задач** — с веб-UI и API, чтобы веб-интерфейс почты мог
|
||
создавать задачи кнопкой
|
||
- Всё **локально** (bigbox), без облачных зависимостей
|
||
|
||
Сейчас календаря и трекера задач **нет** (проверено: порт 5232 свободен,
|
||
образы radicale/vikunja не установлены). Порт 8080 занят NetBox.
|
||
|
||
## What Changes
|
||
|
||
Два новых сервиса в `/opt/hermes/email-assistant/`:
|
||
|
||
### 1. Radicale (CalDAV) — календарь + задачи VTODO
|
||
- **Порт:** 5232 (свободен)
|
||
- **Путь:** `/opt/hermes/email-assistant/radicale/`
|
||
- **Способ:** Python pip (лёгкий, systemd) ИЛИ docker
|
||
- **Назначение:** CalDAV-сервер для:
|
||
- Календаря «Личный» + «Рабочий» (синхронизация с Android через DAVx5)
|
||
- Задач (VTODO) — тоже через CalDAV
|
||
- **Конфиг:** лёгкий, single-user (правки через UI/файл)
|
||
|
||
### 2. Vikunja (трекер задач) — веб-UI + REST API + Android app
|
||
- **Порт:** 3456 (дефолт Vikunja, свободен)
|
||
- **Путь:** `/opt/hermes/email-assistant/vikunja/`
|
||
- **Способ:** docker compose (postgres + vikunja)
|
||
- **Назначение:**
|
||
- Трекер задач с веб-интерфейсом (kanban/список)
|
||
- **REST API** — для кнопки «Создать задачу» из веб-интерфейса почты
|
||
- Android-приложение (нативный клиент Vikunja)
|
||
- **БД:** PostgreSQL (docker), данные в volume
|
||
|
||
### Общие решения
|
||
- **Доступ:** 127.0.0.1 (локально) + опционально через Caddy reverse proxy
|
||
на поддомене (Caddy — контейнер на vps02, см. STATUS.md «Ресурсы проекта»)
|
||
- **Порты:** 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/email-assistant/radicale/`, `/opt/hermes/email-assistant/vikunja/`
|
||
- **Порты:** 5232 (radicale), 3456 (vikunja) — новые
|
||
- **Данные:** календари/задачи будут храниться локально
|
||
- **Документация:** обновить README/STATUS (порты, логины, как синхронизировать)
|
||
- **Риск:** Vikunja тянет Postgres (память/диск); Radicale — минимален
|
||
|
||
## Rollback
|
||
|
||
1. **Radicale:** `systemctl stop radicale` + удалить `/opt/hermes/email-assistant/radicale/`
|
||
2. **Vikunja:** `docker compose -f /opt/hermes/email-assistant/vikunja/docker-compose.yml down -v`
|
||
(удалить контейнеры и volume с данными) + убрать `/opt/hermes/email-assistant/vikunja/`
|
||
3. Убрать упоминания из README/STATUS
|
||
4. Вернуть порты в исходное состояние (оба сейчас свободны, конфликтов нет) |