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>
4.3 KiB
Бэклог задач
Задачи по приоритету. Обновляй этот файл при добавлении/завершении задач. Последнее обновление: 2026-03-22
🔴 Критично (сделать как можно скорее)
-
Добавить DNS-запись
dash.csrx.ruв Cloudflare Adash→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)
- Forgejo (сейчас
-
Автоматическое обновление Cloudflare IP-списков UFW разрешает только Cloudflare IPs. Список захардкожен — нужен cron для обновления.
-
Логи mail-сервера в Loki Добавить promtail pipeline для сбора логов mailserver с tools-сервера.
-
Двухфакторная аутентификация для n8n n8n сейчас доступен только с rate-limit middleware, без 2FA через Authelia.
✅ Сделано
- Traefik с wildcard TLS через Cloudflare DNS-01
- Vaultwarden (менеджер паролей)
- Forgejo + CI/CD через Forgejo Actions
- Plane (управление проектами)
- Outline wiki с email magic link авторизацией
- n8n автоматизация
- docker-mailserver (Postfix + Dovecot), аккаунты: noreply, admin, jack
- SnappyMail вебмейл на webmail.csrx.ru
- DKIM/SPF/DMARC DNS-записи для почты
- Мониторинг (Prometheus + Grafana + Loki + AlertManager)
- CrowdSec IDS + fail2ban
- Authelia 2FA SSO
- Uptime Kuma статус-страница
- Бэкап каждый час → S3 cold
data/, 7 дней хранения - Удаление Syncthing (домен, firewall правила, образ, переменные)
- cloudflare_zone_id перенесён из main.yml в vault