From 521c806ed928ac2b3df7f025bbee36d60cb3a8ef Mon Sep 17 00:00:00 2001 From: jack Date: Fri, 27 Mar 2026 03:11:54 +0700 Subject: [PATCH] =?UTF-8?q?docs:=20update=20STATUS.md=20=E2=80=94=20reflec?= =?UTF-8?q?t=20walava.io=20migration=20and=20service=20layout?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/STATUS.md | 128 +++++++++++++++++++++++-------------------------- 1 file changed, 60 insertions(+), 68 deletions(-) diff --git a/docs/STATUS.md b/docs/STATUS.md index 1158935..ded3ac5 100644 --- a/docs/STATUS.md +++ b/docs/STATUS.md @@ -1,7 +1,7 @@ # Статус инфраструктуры > Обновляй этот файл при каждом значимом изменении. -> Последнее обновление: 2026-03-23 +> Последнее обновление: 2026-03-27 --- @@ -9,8 +9,10 @@ | Сервер | IP | Роль | Состояние | |--------|----|------|-----------| -| **main** | 87.249.49.32 | Основные сервисы + мониторинг | ✅ Работает | -| **tools** | 85.193.83.9 | Wiki + автоматизация + почта | ✅ Работает | +| **main** | 87.249.49.32 | Все продуктовые сервисы + мониторинг | ✅ Работает | +| **tools** | 85.193.83.9 | Вспомогательные сервисы (пусто, ожидает мониторинг) | ✅ Работает | + +> mon (188.225.79.34) — планируется к отключению. --- @@ -20,95 +22,91 @@ | Сервис | Домен | Статус | Заметки | |--------|-------|--------|---------| -| Traefik | — | ✅ | Реверс-прокси, TLS wildcard `*.csrx.ru` через Cloudflare DNS-01 | -| Vaultwarden | vault.csrx.ru | ✅ | Менеджер паролей | -| Forgejo | git.csrx.ru | ✅ | Git-сервер, SSH на порту 2222 | +| Traefik | — | ✅ | Реверс-прокси, TLS wildcard `*.walava.io` через Cloudflare DNS-01 | +| Vaultwarden | vault.walava.io | ✅ | Менеджер паролей | +| Forgejo | git.walava.io | ✅ | Git-сервер, SSH на порту 2222 | | Forgejo Actions | — | ✅ | CI/CD runner, деплой через push в master | -| Plane | plane.csrx.ru | ✅ | Управление проектами | -| Grafana | dash.csrx.ru | ✅ | Дашборды мониторинга | +| Plane | plane.walava.io | ✅ | Управление проектами | +| Outline Wiki | wiki.walava.io | 🔄 Переезд (CI в процессе) | SMTP: Resend через walava.io | +| n8n | auto.walava.io | 🔄 Переезд (CI в процессе) | Workflow автоматизация | +| outline-mcp | — | 🔄 Переезд | MCP сервер для Claude | +| discord-bot | — | ✅ | Деплой-нотификации в Discord | +| walava-web | walava.io | ✅ | Лендинг (заглушка) | +| Grafana | dash.walava.io | ✅ | Дашборды мониторинга | | Prometheus | — | ✅ | Сбор метрик, 30 дней хранения | | Loki + Promtail | — | ✅ | Сбор логов | | AlertManager | — | ✅ | Алерты в Telegram | | CrowdSec | — | ✅ | IDS, банит злоумышленников | -| Authelia | auth.csrx.ru | ✅ | 2FA SSO, защищает traefik dashboard и plane/god-mode | -| Uptime Kuma | status.csrx.ru | ✅ | Публичная страница статуса | -| Бэкап | — | ✅ | Каждые 6 часов (00/06/12/18) → S3 `visual-backup/data/`, 7 дней | +| Uptime Kuma | status.walava.io | ✅ | Публичная страница статуса | +| Бэкап | — | ✅ | Каждые 6 часов → S3 `walava-backup/data/`, 7 дней | ### Tools-сервер (tools, 85.193.83.9) -| Сервис | Домен | Статус | Заметки | -|--------|-------|--------|---------| -| Outline | wiki.csrx.ru | ✅ | Wiki, аутентификация через email magic link | -| n8n | n8n.csrx.ru | ✅ | Автоматизация workflow | -| docker-mailserver | mx.csrx.ru | ✅ | Postfix + Dovecot, порты 25/465/587/993, DKIM+SPF+DMARC | -| SnappyMail | mail.csrx.ru | ✅ | Веб-клиент почты | +Outline и n8n **переехали на main**. Сервер ожидает переноса мониторинга. -### Почта (@csrx.ru) +--- -**Аккаунты:** +## Почта -| Аккаунт | Назначение | -|---------|-----------| -| noreply@csrx.ru | Системные письма (Outline magic link) | -| admin@csrx.ru | Администратор | -| jack@csrx.ru | Личный | +Используется **Resend** (resend.com) для исходящей почты. +- Домен `walava.io` верифицирован в Resend +- Отправитель: `noreply@walava.io` +- Outline шлёт magic link напрямую через `smtp.resend.com:587` +- API ключ: в vault как `vault_resend_api_key` -**Архитектура почты:** -``` -Входящая: internet → port 25 → mx.csrx.ru (85.193.83.9) → Postfix → Dovecot → IMAP -Исходящая: Outlook/SnappyMail → port 587 (STARTTLS) → mx.csrx.ru → Postfix → internet -Outline: outline контейнер → mailserver:587 (Docker mail-internal сеть) → noreply@ -``` +**Входящая почта не настроена** (нет MX, не нужна). -**Настройки почтового клиента:** -- IMAP: `mx.csrx.ru` порт 993 (SSL/TLS) -- SMTP: `mx.csrx.ru` порт 587 (STARTTLS) или 465 (SSL/TLS) -- Веб-клиент: https://mail.csrx.ru (SnappyMail) +--- -**DNS-записи для почты** (все должны быть в Cloudflare): -``` -A mx → 85.193.83.9 DNS-only (НЕ proxied!) -A mail → 87.249.49.32 Proxied (webmail через Traefik) -MX @ 10 → mx.csrx.ru. -TXT @ → "v=spf1 mx -all" -TXT _dmarc → "v=DMARC1; p=quarantine; rua=mailto:admin@csrx.ru; ..." -TXT mail._domainkey → "v=DKIM1; k=rsa; p=" (генерируется при деплое) -CNAME autoconfig → mx.csrx.ru. для Thunderbird autodiscover -CNAME autodiscover → mx.csrx.ru. для Outlook autodiscover -``` +## S3 (Timeweb Object Storage) -**rDNS (PTR-запись)** — настроить в панели Timeweb: -`85.193.83.9 → mx.csrx.ru` (критично для доставки в Gmail/Yandex!) - -**Автообновление TLS-сертификата:** -- certbot renew cron: каждый день в 03:15 и 15:15 -- deploy-hook: после обновления автоматически перезагружает Postfix+Dovecot +| Bucket | Назначение | +|--------|-----------| +| `walava-backup` | Бэкапы (каждые 6 часов, 7 дней хранения) | +| `walava-outline` | Файлы Outline (вложения, изображения) | --- ## CI/CD -- Репозиторий: `git.csrx.ru/jack/infra` +- Репозиторий: `git.walava.io/jack/infra` - Триггер: push в `master` запускает `ansible-playbook playbooks/deploy.yml` + `playbooks/tools.yml` -- Runner: `act_runner` на основном сервере +- Runner: `act_runner` на main-сервере - **Правило**: все изменения только через git, никаких ручных правок на сервере --- -## Известные проблемы +## Бэкап (что входит) -| Проблема | Статус | -|----------|--------| -| PTR-запись 85.193.83.9 → mx.csrx.ru | ⏳ Настроена в Timeweb, обновляется 3–24 ч | -| Tools-сервер не бэкапится | ⚠️ outline-db, n8n, mailserver/config не входят в бэкап | -| Tools-сервер вне мониторинга | ⚠️ Prometheus не скрейпит tools-сервер | -| SnappyMail домен csrx.ru не настроен | ⚠️ Нужно в админке: IMAP mailserver:993, SMTP mailserver:587 | +| Данные | Метод | +|--------|-------| +| Forgejo DB | pg_dump → gzip | +| Forgejo data | tar volume | +| Plane DB | pg_dump → gzip | +| Plane MinIO | tar volume | +| Outline DB | pg_dump → gzip | +| n8n workflows | tar volume | +| Vaultwarden | tar volume | +| Uptime Kuma | tar volume | +| Traefik acme.json | в составе volumes | + +Расписание: 00:00, 06:00, 12:00, 18:00 UTC. Хранение: 7 дней. --- -## Сети Docker +## Известные проблемы / TODO + +| Проблема | Статус | +|----------|--------| +| Outline + n8n переезд на main | 🔄 CI задеплоен, ожидаем старт контейнеров | +| Authelia всё ещё запущена | ⚠️ Нужно удалить после деплоя (remove_orphans уберёт) | +| Мониторинг переезд на tools | ⏳ Следующий шаг | +| Отключить mon-сервер | ⏳ После переноса мониторинга | + +--- + +## Сети Docker (main) -### Основной сервер - `proxy` — публичная, только для Traefik (нужна для ACME) - `backend` — internal, Traefik ↔ сервисы - `forgejo-db` — internal, Forgejo ↔ PostgreSQL @@ -116,11 +114,5 @@ CNAME autodiscover → mx.csrx.ru. для Outlook autodiscover - `plane-internal` — internal, все компоненты Plane - `runner-jobs` — публичная, для job-контейнеров CI/CD - `monitoring` — internal, стек мониторинга -- `authelia-internal` — internal, Authelia ↔ Redis - -### Tools-сервер -- `front` — публичная, для port binding хоста - `outline-internal` — internal, Outline ↔ DB ↔ Redis - `n8n-internal` — internal, n8n изоляция -- `mail-internal` — internal, Outline → mailserver (SMTP без auth) -- `webmail-internal` — internal, SnappyMail изоляция