diff --git a/WALKTHROUGH.md b/WALKTHROUGH.md index ffd4832..63fc9c7 100644 --- a/WALKTHROUGH.md +++ b/WALKTHROUGH.md @@ -67,10 +67,10 @@ LLM-скриптов (`cat email.md | ollama run qwen3:8b`), человекоч ### Задача 2: Radicale (docker) — развёрнут частично **Сделано:** -1. `/opt/hermes/radicale/docker-compose.yml` (образ `kozea/radicale`, порт 5232). -2. Конфиг `/opt/hermes/radicale/config/config` (htpasswd, owner_only, /data/collections). +1. `/opt/hermes/email-assistant/radicale/docker-compose.yml` (образ `kozea/radicale`, порт 5232). +2. Конфиг `/opt/hermes/email-assistant/radicale/config/config` (htpasswd, owner_only, /data/collections). 3. Пользователь `estorozhenko` — `htpasswd -c -b -m data/users estorozhenko ` - (пароль в `/opt/hermes/radicale/.env`, `RADICALE_PASS`). + (пароль в `/opt/hermes/email-assistant/radicale/.env`, `RADICALE_PASS`). 4. `docker compose up -d` → контейнер `radicale` работает. **Проверено:** `curl -X PROPFIND http://127.0.0.1:5232/ -u estorozhenko:PASS` → **207**; diff --git a/openspec/changes/local-calendar-tasks/proposal.md b/openspec/changes/local-calendar-tasks/proposal.md index 14d23e6..a1dfff2 100644 --- a/openspec/changes/local-calendar-tasks/proposal.md +++ b/openspec/changes/local-calendar-tasks/proposal.md @@ -14,11 +14,11 @@ ## What Changes -Два новых сервиса в `/opt/hermes/`: +Два новых сервиса в `/opt/hermes/email-assistant/`: ### 1. Radicale (CalDAV) — календарь + задачи VTODO - **Порт:** 5232 (свободен) -- **Путь:** `/opt/hermes/radicale/` +- **Путь:** `/opt/hermes/email-assistant/radicale/` - **Способ:** Python pip (лёгкий, systemd) ИЛИ docker - **Назначение:** CalDAV-сервер для: - Календаря «Личный» + «Рабочий» (синхронизация с Android через DAVx5) @@ -27,7 +27,7 @@ ### 2. Vikunja (трекер задач) — веб-UI + REST API + Android app - **Порт:** 3456 (дефолт Vikunja, свободен) -- **Путь:** `/opt/hermes/vikunja/` +- **Путь:** `/opt/hermes/email-assistant/vikunja/` - **Способ:** docker compose (postgres + vikunja) - **Назначение:** - Трекер задач с веб-интерфейсом (kanban/список) @@ -37,7 +37,7 @@ ### Общие решения - **Доступ:** 127.0.0.1 (локально) + опционально через Caddy reverse proxy - на поддомене (caddy есть в /opt/gitea.nixg.ru) + на поддомене (Caddy — контейнер на vps02, см. STATUS.md «Ресурсы проекта») - **Порты:** 5232 (radicale), 3456 (vikunja) — не конфликтуют с 8080 (NetBox) - **Авторизация:** Radicale — HTTP Basic (логин/пароль в конфиге); Vikunja — своя (регистрация/логин, API-токены) @@ -55,7 +55,7 @@ ## Impact -- **Новые сервисы:** `/opt/hermes/radicale/`, `/opt/hermes/vikunja/` +- **Новые сервисы:** `/opt/hermes/email-assistant/radicale/`, `/opt/hermes/email-assistant/vikunja/` - **Порты:** 5232 (radicale), 3456 (vikunja) — новые - **Данные:** календари/задачи будут храниться локально - **Документация:** обновить README/STATUS (порты, логины, как синхронизировать) @@ -63,8 +63,8 @@ ## 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/` +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. Вернуть порты в исходное состояние (оба сейчас свободны, конфликтов нет) \ No newline at end of file diff --git a/openspec/changes/local-calendar-tasks/tasks.md b/openspec/changes/local-calendar-tasks/tasks.md index 969862d..a0c7839 100644 --- a/openspec/changes/local-calendar-tasks/tasks.md +++ b/openspec/changes/local-calendar-tasks/tasks.md @@ -3,18 +3,18 @@ ## Implementation Tasks ### Radicale (CalDAV, docker :5232) -- [ ] R1: Создать `/opt/hermes/radicale/docker-compose.yml` (образ radicale, порт 5232, volumes, auth) -- [ ] R2: Создать коллекции: «Личный», «Рабочий», «Задачи» (VTODO) — через скрипт или DAVx5 -- [ ] R3: Проверить `curl -X PROPFIND http://127.0.0.1:5232/` → 207 +- [x] R1: Создать `/opt/hermes/email-assistant/radicale/docker-compose.yml` (образ radicale, порт 5232, volumes, auth) +- [x] R2: Создать коллекции: «Личный», «Рабочий», «Задачи» (VTODO) — напрямую на ФС (MKCOL 403 при owner_only; .Radicale.props + data/collections/collection-root/estorozhenko/) +- [x] R3: Проверить `curl -X PROPFIND http://127.0.0.1:5232/` → 207 ### Vikunja (трекер, docker :3456) -- [ ] V1: Создать `/opt/hermes/vikunja/docker-compose.yml` (postgres + vikunja, env, volumes) +- [x] V1: Создать `/opt/hermes/email-assistant/vikunja/docker-compose.yml` (postgres + vikunja, env, volumes) - [ ] V2: `docker compose up -d` → Vikunja отвечает на `http://127.0.0.1:3456/api/v1/info` - [ ] V3: Создать админ-пользователя, получить API-токен - [ ] V4: Тест: `POST /api/v1/projects//tasks` с токеном → 201 ### Общее -- [ ] O1: Caddy reverse proxy (cal.nixg.ru → 5232, tasks.nixg.ru → 3456) + TLS +- [x] O1: Caddy reverse proxy (cal.nixg.ru → 5232, tasks.nixg.ru → 3456) + TLS (на vps02, Caddyfile обновлён, cal.nixg.ru уже работает) - [ ] O2: Проверить доступ с Android (DAVx5 для Radicale, Vikunja app/token для задач) - [ ] O3: Обновить README/STATUS (порты, логины, как синхронизировать)