docs: update STATUS.md — reflect walava.io migration and service layout
This commit is contained in:
parent
36be9fb33d
commit
521c806ed9
1 changed files with 60 additions and 68 deletions
128
docs/STATUS.md
128
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=<KEY>" (генерируется при деплое)
|
||||
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 изоляция
|
||||
|
|
|
|||
Loading…
Reference in a new issue