- Remove Syncthing mention from authelia comment in docker-compose - Fix backup.sh.j2 comment: hourly → every 6 hours - Update CLAUDE.md: add docs update rule, fix backup schedule note - Update STATUS.md: dash.csrx.ru fixed, PTR pending, backup schedule, mail hostnames - Update BACKLOG.md: mark DNS/PTR/backup-schedule done, add SnappyMail domain task - Update DECISIONS.md: fix backup section (no --storage-class COLD, correct schedule) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
100 lines
4.6 KiB
Markdown
100 lines
4.6 KiB
Markdown
# Бэклог задач
|
||
|
||
> Задачи по приоритету. Обновляй этот файл при добавлении/завершении задач.
|
||
> Последнее обновление: 2026-03-23
|
||
|
||
---
|
||
|
||
## 🔴 Критично (сделать как можно скорее)
|
||
|
||
- [ ] **Настроить домен csrx.ru в SnappyMail** (admin панель → Domains)
|
||
IMAP: `mailserver`, порт 993, SSL
|
||
SMTP: `mailserver`, порт 587, STARTTLS, с авторизацией
|
||
Без этого вход в mail.csrx.ru невозможен.
|
||
|
||
- [ ] **Бэкап tools-сервера**
|
||
Добавить скрипт для tools-сервера (роль backup не подключена к tools.yml):
|
||
- 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] PTR-запись 85.193.83.9 → mx.csrx.ru (настроена в Timeweb, ожидает propagation 3-24ч)
|
||
- [x] DNS Cloudflare: MX→mx, SPF `-all`, DMARC `p=quarantine`, DKIM, autoconfig/autodiscover, A dash/mail/mx
|
||
- [x] Бэкап изменён с hourly на каждые 6 часов (00:00, 06:00, 12:00, 18:00)
|
||
- [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 вебмейл на mail.csrx.ru
|
||
- [x] docker-mailserver на mx.csrx.ru (было mail.csrx.ru)
|
||
- [x] Certbot авторотация сертификата (cron 2x/день + deploy-hook)
|
||
- [x] DMARC p=quarantine, SPF -all, DKIM
|
||
- [x] Мониторинг (Prometheus + Grafana + Loki + AlertManager)
|
||
- [x] CrowdSec IDS + fail2ban
|
||
- [x] Authelia 2FA SSO
|
||
- [x] Uptime Kuma статус-страница
|
||
- [x] Удаление Syncthing
|
||
- [x] cloudflare_zone_id перенесён в vault
|