Syncthing removal (was already decided, now fully removed): - roles/base/tasks/firewall.yml: remove 3 UFW rules (ports 22000/21027) - inventory/group_vars/all/main.yml: remove domain_sync, domain_mon, syncthing_basic_auth_htpasswd - roles/services/templates/env.j2: remove DOMAIN_SYNC - roles/services/templates/authelia/configuration.yml.j2: remove Syncthing 2FA rule - roles/services/tasks/directories.yml: remove syncthing/config and syncthing/data dirs - roles/services/defaults/main.yml: remove syncthing_image - roles/services/tasks/main.yml: remove syncthing image pull Security hardening: - inventory/group_vars/all/main.yml: move cloudflare_zone_id to vault - inventory/group_vars/all/vault.yml: add vault_cloudflare_zone_id .gitignore improvements: - add *.env, acme.json, *.log, editor dirs, venv, temp files Documentation (new): - docs/STATUS.md: all services, servers, known issues - docs/BACKLOG.md: prioritized task list, done/todo - docs/DECISIONS.md: architecture decisions and rationale - CLAUDE.md: rewritten with read-first docs, rules, full arch reference Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
94 lines
4.3 KiB
Markdown
94 lines
4.3 KiB
Markdown
# Бэклог задач
|
||
|
||
> Задачи по приоритету. Обновляй этот файл при добавлении/завершении задач.
|
||
> Последнее обновление: 2026-03-22
|
||
|
||
---
|
||
|
||
## 🔴 Критично (сделать как можно скорее)
|
||
|
||
- [ ] **Добавить DNS-запись `dash.csrx.ru`** в Cloudflare
|
||
A `dash` → `87.249.49.32` (proxied). Grafana сейчас недоступна по домену.
|
||
|
||
- [ ] **Бэкап tools-сервера**
|
||
Добавить в `roles/backup/` или создать отдельный скрипт для tools-сервера:
|
||
- outline-db (PostgreSQL dump)
|
||
- n8n_data (Docker volume)
|
||
- mailserver/config (DKIM ключи, аккаунты)
|
||
- snappymail/data
|
||
|
||
- [ ] **plane-minio не бэкапится**
|
||
Вложения и файлы из Plane не входят в текущий бэкап. Нужен dump MinIO bucket `uploads`.
|
||
|
||
---
|
||
|
||
## 🟡 Высокий приоритет
|
||
|
||
- [ ] **Мониторинг tools-сервера**
|
||
Добавить node-exporter на tools-сервер и scrape-конфиг в Prometheus.
|
||
|
||
- [ ] **mem_limit для plane-worker и plane-beat**
|
||
Сейчас без ограничений памяти, риск OOM. Добавить `mem_limit: 256m`.
|
||
|
||
- [ ] **Проверить работу swap**
|
||
`roles/base/tasks/swap.yml` должен создавать 2GB swap. Проверить что он реально создан на сервере.
|
||
|
||
- [ ] **Верификация бэкапов**
|
||
Добавить еженедельную проверку: скачать последний бэкап из S3, сделать test restore в Docker.
|
||
|
||
---
|
||
|
||
## 🟢 Обычный приоритет
|
||
|
||
- [ ] **Алерты на сбой бэкапа**
|
||
Если `backup-services` завершился с ошибкой — отправить алерт в Telegram.
|
||
|
||
- [ ] **Алерты на истечение TLS-сертификатов**
|
||
Добавить Prometheus правило: предупреждение за 7 дней до истечения сертификата.
|
||
|
||
- [ ] **Prometheus → tools-сервер**
|
||
Настроить federated scraping или remote_write для получения метрик tools-сервера.
|
||
|
||
- [ ] **Бакет S3 `visual-backup`**
|
||
Убедиться что бакет создан в Timeweb как "холодное хранилище" (тип: COLD).
|
||
|
||
---
|
||
|
||
## 📋 Бэклог (без срока)
|
||
|
||
- [ ] **Обновление образов**
|
||
Регулярно проверять новые версии (образы запинены в `defaults/main.yml`):
|
||
- Forgejo (сейчас `:9`)
|
||
- Traefik (сейчас `v3.3`)
|
||
- Plane (сейчас `:stable`)
|
||
- Authelia (сейчас `4.38`)
|
||
|
||
- [ ] **Автоматическое обновление Cloudflare IP-списков**
|
||
UFW разрешает только Cloudflare IPs. Список захардкожен — нужен cron для обновления.
|
||
|
||
- [ ] **Логи mail-сервера в Loki**
|
||
Добавить promtail pipeline для сбора логов mailserver с tools-сервера.
|
||
|
||
- [ ] **Двухфакторная аутентификация для n8n**
|
||
n8n сейчас доступен только с rate-limit middleware, без 2FA через Authelia.
|
||
|
||
---
|
||
|
||
## ✅ Сделано
|
||
|
||
- [x] Traefik с wildcard TLS через Cloudflare DNS-01
|
||
- [x] Vaultwarden (менеджер паролей)
|
||
- [x] Forgejo + CI/CD через Forgejo Actions
|
||
- [x] Plane (управление проектами)
|
||
- [x] Outline wiki с email magic link авторизацией
|
||
- [x] n8n автоматизация
|
||
- [x] docker-mailserver (Postfix + Dovecot), аккаунты: noreply, admin, jack
|
||
- [x] SnappyMail вебмейл на webmail.csrx.ru
|
||
- [x] DKIM/SPF/DMARC DNS-записи для почты
|
||
- [x] Мониторинг (Prometheus + Grafana + Loki + AlertManager)
|
||
- [x] CrowdSec IDS + fail2ban
|
||
- [x] Authelia 2FA SSO
|
||
- [x] Uptime Kuma статус-страница
|
||
- [x] Бэкап каждый час → S3 cold `data/`, 7 дней хранения
|
||
- [x] Удаление Syncthing (домен, firewall правила, образ, переменные)
|
||
- [x] cloudflare_zone_id перенесён из main.yml в vault
|