From 85903cc52c2f45b0b9ef42a3015d8de9d2072c37 Mon Sep 17 00:00:00 2001 From: Claude Code Date: Wed, 4 Mar 2026 15:15:23 +0000 Subject: [PATCH] =?UTF-8?q?=D0=90=D0=BA=D1=82=D1=83=D0=B0=D0=BB=D0=B8?= =?UTF-8?q?=D0=B7=D0=B0=D1=86=D0=B8=D1=8F=20=D0=B8=D0=B7=20MEMORY.md:=20Ma?= =?UTF-8?q?ilcow=20dttb.ru,=20Matrix=20=D0=9D=D0=98=D0=98=D0=9A=D0=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - projects/niikn/matrix.md: новый Matrix сервер (VM 107, matrix.niikn.com) - projects/niikn/README.md: добавлен Matrix в инфраструктуру - projects/dttb/mailcow-dttb.md: Mailcow почтовый сервер (VM 107, mail.dttb.ru) - projects/dttb/README.md: обновлена сводка инфраструктуры HomeLab - projects/dttb/network-topology.md: добавлен 10.0.0.107 Mailcow - projects/dttb/npm-proxy-hosts.md: добавлены mail.dttb.ru, matrix.dttb.ru - projects/dttb/proxmox-inventory.md: добавлен VM 107 Mailcow - decisions/2026-03-04: решение по Matrix НИИКН Co-Authored-By: Claude Opus 4.6 --- decisions/2026-03-04-matrix-niikn-setup.md | 24 +++++++ projects/dttb/README.md | 30 ++++++++- projects/dttb/mailcow-dttb.md | 52 +++++++++++++++ projects/dttb/network-topology.md | 11 ++++ projects/dttb/npm-proxy-hosts.md | 4 ++ projects/dttb/proxmox-inventory.md | 16 ++++- projects/niikn/README.md | 8 +++ projects/niikn/matrix.md | 75 ++++++++++++++++++++++ 8 files changed, 218 insertions(+), 2 deletions(-) create mode 100644 decisions/2026-03-04-matrix-niikn-setup.md create mode 100644 projects/dttb/mailcow-dttb.md create mode 100644 projects/niikn/matrix.md diff --git a/decisions/2026-03-04-matrix-niikn-setup.md b/decisions/2026-03-04-matrix-niikn-setup.md new file mode 100644 index 0000000..70cfcf9 --- /dev/null +++ b/decisions/2026-03-04-matrix-niikn-setup.md @@ -0,0 +1,24 @@ +# Matrix НИИКН — настройка matrix.niikn.com + +**Дата:** 2026-03-04 +**Статус:** Выполнено + +## Контекст +Нужен Matrix сервер для НИИКН на отдельном Proxmox (192.168.1.201). + +## Решение +Клонирована VM 124 (Matrix HomeLab) → VM 107 на Proxmox НИИКН. Полностью перенастроена: +- server_name: matrix.niikn.com (вместо bitrix24.dttb.ru) +- База данных PostgreSQL сброшена (чистый старт) +- Email через Mailcow НИИКН (noreply@niikn.com) +- Coturn TURN сервер с external IP 85.235.181.190 +- NPM proxy host с SSL (Let's Encrypt cert #54) +- Well-known server + client настроены +- Federation порт 8448 пробросан через MikroTik +- Admin: @admin:matrix.niikn.com / 1qaz!QAZ + +## Что НЕ перенастроено (из клона) +- mautrix-telegram — конфиги от HomeLab +- mautrix-whatsapp — конфиги от HomeLab +- matrix-ai-bot — из HomeLab +- Регистрация открыта (enable_registration: true) diff --git a/projects/dttb/README.md b/projects/dttb/README.md index 882ce92..d390ebf 100644 --- a/projects/dttb/README.md +++ b/projects/dttb/README.md @@ -1 +1,29 @@ -# Проект DTTB +# Проект DTTB (HomeLab) + +## Инфраструктура + +| Компонент | IP | Описание | +|-----------|-----|----------| +| Proxmox | 10.0.0.250 | root / 1qaz!QAZ, HP Z800 | +| OpenWrt Router | 10.0.0.1 | Шлюз, DNS, NAT, LuCI :8080 | +| NPM (LXC 103) | 10.0.0.195 | Nginx Proxy Manager | +| VM 107 — Mailcow | 10.0.0.107 | mail.dttb.ru | +| VM 124 — Matrix | 10.0.0.224 | matrix.dttb.ru | +| VM 104 — AgentDVR | 10.0.0.227 | Видеонаблюдение Знаменское | +| LXC 131 — AgentDVR | 10.0.0.232 | Видеонаблюдение домашнее | +| VM 250 — Nextcloud | 10.0.0.230 | dttb.ru | +| LXC 129 — Clawdbot | 10.0.0.206 | Основной бот + CLIProxy | +| LXC 133 — Clawdbot-1 | 10.0.0.237 | Бот НИИКН | +| LXC 134 — Clawdbot-2 | 10.0.0.238 | Бот ЧОП | +| LXC 136 — Gitea | 10.0.0.189 | git.dttb.ru | + +## Публичный IP: 176.62.183.186 + +## Файлы + +- [network-topology.md](network-topology.md) — карта сети 10.0.0.0/24 +- [proxmox-inventory.md](proxmox-inventory.md) — инвентаризация VM/LXC +- [npm-proxy-hosts.md](npm-proxy-hosts.md) — NPM домены +- [credentials.md](credentials.md) — учётные данные +- [mailcow-dttb.md](mailcow-dttb.md) — Mailcow почтовый сервер +- [videonablyudenie-znam.md](videonablyudenie-znam.md) — видеонаблюдение diff --git a/projects/dttb/mailcow-dttb.md b/projects/dttb/mailcow-dttb.md new file mode 100644 index 0000000..5b6e891 --- /dev/null +++ b/projects/dttb/mailcow-dttb.md @@ -0,0 +1,52 @@ +# Mailcow dttb.ru (VM 107, 10.0.0.107) + +## Общая информация +- **Web UI:** https://mail.dttb.ru (через NPM proxy host #25, SSL cert #106) +- **Admin:** admin / 1qaz!QAZ +- **API key:** dttb-mailcow-api-2026 (API_ALLOW_FROM: 172.22.1.1,127.0.0.1,10.0.0.0/24) +- **OS:** Ubuntu 24.04, 4 cores, 8GB RAM, 100GB disk +- **SSH:** root (ключ claude-code ed25519), cloud-init static IP +- **Клонирован с:** VM 106 НИИКН (mail.niikn.com), перенастроен 2026-03-04 + +## Домен и ящики +- **Домен:** dttb.ru, DKIM selector: dkim, 2048-bit +- **Ящики:** + - admin@dttb.ru (пароль: 1qaz!QAZ) + - noreply@dttb.ru (пароль: 1qaz!QAZ) + +## Подключение +- **SMTP:** mail.dttb.ru:587 (STARTTLS) или mail.dttb.ru:465 (SMTPS) +- **IMAP:** mail.dttb.ru:993 (SSL) +- **POP3:** mail.dttb.ru:995 (SSL) +- **Sieve:** mail.dttb.ru:4190 + +## Конфигурация +- **Install dir:** /opt/mailcow-dockerized/ +- **MAILCOW_HOSTNAME:** mail.dttb.ru +- **SKIP_LETS_ENCRYPT:** y (SSL через NPM) +- **SKIP_UNBOUND_HEALTHCHECK:** y +- **Unbound:** forward-zone к 8.8.8.8/1.1.1.1 в unbound.conf (обязательно для доставки!) +- **SSL:** self-signed cert для SMTP/IMAP (mail.dttb.ru), NPM cert для HTTPS web +- **Docker контейнеры:** 18 шт (postfix, dovecot, rspamd, nginx, mysql, redis и др.) + +## OpenWrt проброс портов → 10.0.0.107 +| Порт | Протокол | Назначение | +|------|----------|------------| +| 25 | TCP | SMTP (приём почты) | +| 465 | TCP | SMTPS | +| 587 | TCP | Submission (отправка) | +| 993 | TCP | IMAPS | +| 995 | TCP | POP3S | +| 4190 | TCP | Sieve | + +## DNS записи (dttb.ru → Spaceweb) +| Тип | Имя | Значение | +|-----|-----|----------| +| A | mail | 176.62.183.186 | +| MX | @ | mail.dttb.ru. (приоритет 10) | +| TXT | @ | v=spf1 ip4:176.62.183.186 a mx ~all | +| TXT | _dmarc | v=DMARC1; p=quarantine; ruf=mailto:admin@dttb.ru | +| TXT | dkim._domainkey | v=DKIM1;k=rsa;t=s;s=email;p=... (2048-bit) | + +## TODO +- [ ] PTR запись: 176.62.183.186 → mail.dttb.ru (запросить у провайдера) diff --git a/projects/dttb/network-topology.md b/projects/dttb/network-topology.md index a344460..77bbfad 100644 --- a/projects/dttb/network-topology.md +++ b/projects/dttb/network-topology.md @@ -139,6 +139,15 @@ | Открытые порты | 22/ssh (OpenSSH 9.2p1) | | Роль | Whisper STT бот | +### 10.0.0.107 — Mailcow (mail.dttb.ru) +| Параметр | Значение | +|----------|----------| +| Proxmox | VM 107 | +| ОС | Ubuntu 24.04 | +| Открытые порты | 22/ssh, 25/smtp, 80/http, 443/https, 465/smtps, 587/submission, 993/imaps, 995/pop3s, 4190/sieve | +| Роль | **Mailcow — почтовый сервер dttb.ru** | +| Домен | mail.dttb.ru | + ### 10.0.0.206 — Clawdbot (текущий) | Параметр | Значение | |----------|----------| @@ -449,6 +458,8 @@ | ip.dttb.ru | 10.0.0.112:8840 | WatchYourLAN | | home.dttb.ru | 10.0.0.155:8123 | Home Assistant | | remot.dttb.ru | 10.0.0.43:21114 | RustDesk Web | +| mail.dttb.ru | 10.0.0.107:443 | Mailcow (почта dttb.ru) | +| matrix.dttb.ru | 10.0.0.224:8080 | Matrix/Element Web | | rec.dttb.ru | 10.0.0.227:8091 | Agent-DVR / NVR | | plex.dttb.ru | 10.0.0.200:32400 | Plex Media Server | | porteiner.dttb.ru | 10.0.0.10:9443 | Portainer | diff --git a/projects/dttb/npm-proxy-hosts.md b/projects/dttb/npm-proxy-hosts.md index 5ab8556..06a16d4 100644 --- a/projects/dttb/npm-proxy-hosts.md +++ b/projects/dttb/npm-proxy-hosts.md @@ -38,6 +38,8 @@ | 20 | `siri.dttb.ru` | 10.0.0.206:18790 | ❌ | ❌ | ❌ | ❌ | Clawdbot Siri endpoint | | 21 | `rec.dttb.ru` | 10.0.0.227:8091 | ✅ Let's Encrypt | ✅ | ❌ | ❌ | Запись/NVR | | 22 | `git.dttb.ru` | 10.0.0.189:3000 | ❌ | ❌ | ✅ | ❌ | Gitea | +| 23 | `matrix.dttb.ru` | 10.0.0.224:8080 | ✅ Let's Encrypt | ✅ | ✅ | ✅ | Matrix/Element Web | +| 25 | `mail.dttb.ru` | 10.0.0.107:443 (HTTPS) | ✅ Let's Encrypt | ✅ | ❌ | ✅ | Mailcow Web UI | --- @@ -88,8 +90,10 @@ location /.well-known/matrix/client { | 10.0.0.220 | 80 | z.dttb.ru | | 10.0.0.223 | 8080, 8008 | bitrix24.dttb.ru, itilegent.ru | | 10.0.0.227 | 8091 | rec.dttb.ru | +| 10.0.0.224 | 8080, 8008 | matrix.dttb.ru | | 10.0.0.230 | 11001 | dttb.ru | | 10.0.0.250 | 8006 | pve.dttb.ru | +| 10.0.0.107 | 443 | mail.dttb.ru | --- diff --git a/projects/dttb/proxmox-inventory.md b/projects/dttb/proxmox-inventory.md index 670b2f9..34d03c0 100644 --- a/projects/dttb/proxmox-inventory.md +++ b/projects/dttb/proxmox-inventory.md @@ -110,14 +110,28 @@ | RAM | 15.7 GB | | Диск | 80 GB | +### VM 107 — Mailcow +| Параметр | Значение | +|----------|----------| +| VMID | 107 | +| Статус | 🟢 running | +| CPU | 4 vCPU | +| RAM | 8 GB | +| Диск | 100 GB | +| IP | 10.0.0.107 | +| Назначение | **Mailcow — почтовый сервер dttb.ru** | +| Домен | mail.dttb.ru | + ### VM 124 — Matrix | Параметр | Значение | |----------|----------| | VMID | 124 | +| Статус | 🟢 running | | CPU | 8 vCPU | | RAM | 15.7 GB | | Диск | 100 GB | -| Назначение | Matrix / Synapse | +| IP | 10.0.0.224 | +| Назначение | Matrix / Synapse (matrix.dttb.ru) | ### VM 125 — datacentr | Параметр | Значение | diff --git a/projects/niikn/README.md b/projects/niikn/README.md index b66f66c..ab5fae9 100644 --- a/projects/niikn/README.md +++ b/projects/niikn/README.md @@ -9,6 +9,7 @@ | VM106 — Mailcow | 192.168.1.128 | mail.niikn.com, cloud / 1qaz!QAZ | | VM100 — Старый Nextcloud | 192.168.1.245 (DHCP) | NC 30.0.10, источник миграции | | LXC 110 — SMB | 192.168.1.79 | admin / 1qaz!QAZ | +| VM107 — Matrix | 192.168.1.133 | matrix.niikn.com, Synapse + Element | | NPM | 192.168.1.22 | Nginx Proxy Manager | | MikroTik | 192.168.1.1 | Основной роутер | @@ -16,6 +17,7 @@ - **Nextcloud AIO** — `https://new.niikn.com`, управление: `https://new.niikn.com:8080` - **Mailcow** — `https://mail.niikn.com`, admin / 1qaz!QAZ +- **Matrix** — `https://matrix.niikn.com`, @admin:matrix.niikn.com / 1qaz!QAZ ([подробнее](matrix.md)) - **SMB** — `//192.168.1.79/share`, смонтирован на VM108 как `/mnt/ncsmb` ## Ключевые файлы на VM108 @@ -65,6 +67,12 @@ cd /opt/mailcow-dockerized bash helper-scripts/mailcow-reset-admin.sh ``` +## DNS записи matrix (niikn.com → Spaceweb) +| Тип | Имя | Значение | +|-----|-----|----------| +| A | matrix | 85.235.181.190 | + ## Файлы +- [matrix.md](matrix.md) — Matrix сервер (VM 107) - [changelog.md](changelog.md) — полный журнал изменений diff --git a/projects/niikn/matrix.md b/projects/niikn/matrix.md new file mode 100644 index 0000000..b91d758 --- /dev/null +++ b/projects/niikn/matrix.md @@ -0,0 +1,75 @@ +# Matrix НИИКН (VM 107, 192.168.1.133) + +## Общая информация +- **URL:** https://matrix.niikn.com (Element Web) +- **Homeserver (server_name):** matrix.niikn.com +- **Synapse:** v1.145.0 +- **OS:** Ubuntu 24.04, 4 cores, 8GB RAM, 100GB disk +- **SSH:** root / 1qaz!QAZ (PermitRootLogin=yes) +- **Клонирован с:** VM 124 HomeLab (matrix.dttb.ru), перенастроен 2026-03-04 + +## Учётные данные +- **Admin Matrix:** @admin:matrix.niikn.com / 1qaz!QAZ +- **PostgreSQL:** synapse / Matrix2026! +- **registration_shared_secret:** NiIkN-Matrix-SharedSecret-2026 + +## Docker контейнеры +| Контейнер | Порт | Статус | +|-----------|------|--------| +| matrix-synapse | 8008 (host network) | Работает | +| matrix-element-web | 8080 | Работает | +| matrix-coturn | 3478 (host network) | Работает | +| matrix-ai-bot | - | Из клона, нужна проверка | +| mautrix-telegram | - | Из клона, нужна перенастройка | +| mautrix-whatsapp | - | Из клона, нужна перенастройка | + +## Конфигурация +- **Docker compose:** /opt/matrix-synapse-docker/docker-compose.yml +- **Homeserver.yaml:** /opt/matrix-synapse-docker/data/homeserver.yaml +- **Element config:** /opt/matrix-synapse-docker/element-config.json +- **PostgreSQL:** на хосте (systemd postgresql.service) +- **DB reset script:** /root/reset-synapse-db.sh + +## Email (через Mailcow НИИКН) +- **SMTP:** 192.168.1.128:587 (STARTTLS) +- **User:** noreply@niikn.com +- **Password:** NiIkN-NoReply-2026! +- **From:** "Matrix NIIKN " + +## NPM (proxy host ID:18) +- **Домен:** matrix.niikn.com +- **SSL:** Let's Encrypt cert ID:54 +- **Locations:** + - / → 192.168.1.133:8080 (Element Web) + - /_matrix → 192.168.1.133:8008 (Synapse API) + - /_synapse → 192.168.1.133:8008 (Synapse Admin) + - /.well-known/matrix → 192.168.1.133:8008 (Well-known) + +## Well-known +- **server:** `{"m.server":"matrix.niikn.com:443"}` +- **client:** `{"m.homeserver":{"base_url":"https://matrix.niikn.com/"}}` +- Настроено через `serve_server_wellknown: true` + `public_baseurl` + +## MikroTik проброс портов → 192.168.1.133 +| Порт | Протокол | Назначение | +|------|----------|------------| +| 8448 | TCP | Matrix Federation | +| 3478 | TCP | TURN (звонки) | +| 3478 | UDP | TURN (звонки) | + +## DNS записи (niikn.com → Spaceweb) +| Тип | Имя | Значение | +|-----|-----|----------| +| A | matrix | 85.235.181.190 | + +## TURN (Coturn) +- **External IP:** 85.235.181.190 +- **Realm:** matrix.niikn.com +- **Shared secret:** b41fdf863e5c310580aa7199a6133b3651acda5b993708ac38e868c27bac7f01 + +## TODO +- [ ] Перенастроить mautrix-telegram для niikn.com +- [ ] Перенастроить mautrix-whatsapp для niikn.com +- [ ] Проверить/починить matrix-ai-bot +- [ ] Закрыть открытую регистрацию (enable_registration: false) +- [ ] Добавить SRV запись _matrix._tcp.niikn.com (опционально)