- Remove tools server entirely (roles/tools, playbooks/tools.yml, CI deploy step) - Remove Vaultwarden (already absent from compose, clean up vars) - Remove node-exporter, cadvisor, promtail from main stack - Remove grafana/uptime-kuma Traefik routes (pointed to tools) - Remove monitoring network from docker-compose - Remove tools vault vars (grafana_admin_password, alertmanager telegram) - Rename domain_plane: plane.walava.io → hub.walava.io - Update CI workflow to only deploy main server - Update STATUS.md and BACKLOG.md to reflect current state
104 lines
4.1 KiB
Markdown
104 lines
4.1 KiB
Markdown
# Статус инфраструктуры
|
||
|
||
> Обновляй этот файл при каждом значимом изменении.
|
||
> Последнее обновление: 2026-03-27
|
||
|
||
---
|
||
|
||
## Серверы
|
||
|
||
| Сервер | IP | Роль | Состояние |
|
||
|--------|----|------|-----------|
|
||
| **main** | 87.249.49.32 | Все продуктовые сервисы | ✅ Работает |
|
||
|
||
---
|
||
|
||
## Сервисы (main, 87.249.49.32)
|
||
|
||
| Сервис | Домен | Статус | Заметки |
|
||
|--------|-------|--------|---------|
|
||
| Traefik | — | ✅ | Реверс-прокси, TLS wildcard `*.walava.io` через Cloudflare DNS-01 |
|
||
| Forgejo | git.walava.io | ✅ | Git-сервер, SSH на порту 2222 |
|
||
| Forgejo Actions | — | ✅ | CI/CD runner, деплой через push в master |
|
||
| Plane | hub.walava.io | ✅ | Управление проектами |
|
||
| Docmost | wiki.walava.io | ✅ | Wiki. S3: walava-docmost |
|
||
| n8n | auto.walava.io | ✅ | Workflow автоматизация |
|
||
| CrowdSec | — | ✅ | IDS, банит злоумышленников |
|
||
| discord-bot | — | ⏳ Ожидает образ | Нужно собрать и запушить в Forgejo registry |
|
||
| walava-web | walava.io | ⏳ Ожидает образ | Нужно собрать и запушить в Forgejo registry |
|
||
|
||
---
|
||
|
||
## Мониторинг
|
||
|
||
Используется **UptimeRobot** (внешний, бесплатный) для проверки доступности сервисов.
|
||
Grafana/Prometheus/Loki/AlertManager/Uptime Kuma удалены — tools-сервер упразднён.
|
||
|
||
---
|
||
|
||
## Почта
|
||
|
||
Используется **Resend** (resend.com) для исходящей почты.
|
||
- Домен `walava.io` верифицирован в Resend
|
||
- Отправитель: `noreply@walava.io`
|
||
- Docmost шлёт инвайты/magic links через `smtp.resend.com:587`
|
||
- API ключ: в vault как `vault_resend_api_key`
|
||
|
||
**Входящая почта не настроена** (нет MX, не нужна).
|
||
|
||
---
|
||
|
||
## S3 (Timeweb Object Storage, endpoint: s3.twcstorage.ru)
|
||
|
||
| Bucket | Назначение |
|
||
|--------|-----------|
|
||
| `walava-backup` | Бэкапы (каждые 6 часов, 7 дней хранения) |
|
||
| `walava-docmost` | Файлы Docmost (вложения, изображения) |
|
||
|
||
---
|
||
|
||
## CI/CD
|
||
|
||
- Репозиторий: `git.walava.io/jack/infra`
|
||
- Триггер: push в `master` запускает `ansible-playbook playbooks/deploy.yml`
|
||
- Runner: `act_runner` на main-сервере
|
||
- SSH ключ: `ci_deploy_pubkey` в `main.yml`, приватный ключ в Forgejo secret `SSH_PRIVATE_KEY`
|
||
- **Правило**: все изменения только через git, никаких ручных правок на сервере
|
||
|
||
---
|
||
|
||
## Бэкап (что входит)
|
||
|
||
| Данные | Метод |
|
||
|--------|-------|
|
||
| Forgejo DB | pg_dump → gzip |
|
||
| Forgejo data | tar volume |
|
||
| Plane DB | pg_dump → gzip |
|
||
| Plane MinIO | tar volume |
|
||
| Docmost DB | pg_dump → gzip |
|
||
| n8n workflows | tar volume |
|
||
|
||
Расписание: 00:00, 06:00, 12:00, 18:00 UTC. Хранение: 7 дней.
|
||
|
||
---
|
||
|
||
## Сети Docker
|
||
|
||
- `proxy` — публичная, только для Traefik (ACME + исходящий интернет)
|
||
- `backend` — internal, Traefik ↔ сервисы
|
||
- `forgejo-db` — internal, Forgejo ↔ PostgreSQL
|
||
- `forgejo-ssh` — публичная, для SSH-клиентов
|
||
- `plane-internal` — internal, все компоненты Plane
|
||
- `runner-jobs` — публичная, для job-контейнеров CI/CD
|
||
- `docmost-internal` — internal, Docmost ↔ DB ↔ Redis
|
||
- `n8n-internal` — internal, n8n изоляция
|
||
|
||
---
|
||
|
||
## Известные проблемы / TODO
|
||
|
||
| Проблема | Статус |
|
||
|----------|--------|
|
||
| discord-bot без образа | ⏳ Собрать и запушить `git.walava.io/jack/discord-bot:latest` |
|
||
| walava-web без образа | ⏳ Собрать и запушить `git.walava.io/jack/walava-web:latest` |
|
||
| DNS: hub.walava.io | ⚠️ Обновить A-запись в Cloudflare (было plane.walava.io) |
|