infra/docs/BACKLOG.md
jack 66b70827df
Some checks failed
CI/CD / syntax-check (push) Successful in 1m31s
CI/CD / deploy (push) Has been cancelled
chore: full project cleanup + documentation
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>
2026-03-22 19:58:12 +07:00

4.3 KiB
Raw Blame History

Бэклог задач

Задачи по приоритету. Обновляй этот файл при добавлении/завершении задач. Последнее обновление: 2026-03-22


🔴 Критично (сделать как можно скорее)

  • Добавить DNS-запись dash.csrx.ru в Cloudflare A dash87.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.


Сделано

  • 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