refactor: сегментировать STATUS.md (4.4k токенов -> 0.7k) — детали в INFRA.md/BRIDGE-TELEGRAM.md/CHEATSHEET.md, backup.sh + новые .md

This commit is contained in:
2026-08-29 14:57:01 +00:00
parent 2763ffb012
commit 19589c853d
5 changed files with 157 additions and 197 deletions
+58
View File
@@ -0,0 +1,58 @@
# ICQ XMPP — Инфраструктура, учётные данные, бэкапы (детали)
> Вспомогательный файл для STATUS.md; обновлено: 2026-08-29
## Учётные данные
- **admin@nixg.ru / пароль: `<СМОТРИ В ЗАЩИЩЁННОМ ХРАНИЛИЩЕ / .env>`** ← перенесён 2026-08-28 с admin@chat.nixg.ru, ВХОД ПОДТВЕРЖДЁН
(проверено через WebSocket: slixmpp + wss://xmpp.nixg.ru/xmpp-websocket → AUTH OK).
- Если пароль снова понадобится сбросить:
`docker exec icq-prosody prosodyctl register admin nixg.ru 'НОВЫЙПАРОЛЬ'`
- Старый аккаунт admin@chat.nixg.ru: домен chat.nixg.ru убран из Prosody (VirtualHost теперь nixg.ru).
## Инфраструктура
- bigbox (машина агента), каталог: **/opt/icq**
- Контейнеры: **icq-prosody** (Prosody 0.11.9: 5222/5269/5280/5281), **icq-webchat** (nginx:8081), **icq-slidgram** (мост Telegram)
- vps02 (87.242.100.206, Debian 12, enp3s0): Caddy (443, host-network), iptables DNAT 5222/5269 → 10.8.0.2
- WireGuard: bigbox 10.8.0.2 ↔ vps02 10.8.0.4; Caddy → 10.8.0.2:8081
## DNS (Jino)
- A `chat.nixg.ru` → 87.242.100.206 (веб-клиент)
- A `xmpp.nixg.ru` → 87.242.100.206 (XMPP WS)
- A `nixg.ru` → 81.177.135.175 (визитка, НЕ трогаем)
- A `upload.nixg.ru` → 87.242.100.206 (HTTP Upload)
- SRV `_xmpp-client._tcp.nixg.ru` → 0 5 5222 **xmpp.nixg.ru.**
- SRV `_xmpp-server._tcp.nixg.ru` → 0 5 5269 **xmpp.nixg.ru.**
- SRV `_xmpp-client-websocket._tcp.nixg.ru` → 0 5 443 **xmpp.nixg.ru.**
- MX `mail.nixg.ru` — НЕ трогаем (почта)
## Prosody
- VirtualHost **nixg.ru**, cross_domain_websocket = { "https://chat.nixg.ru", "https://xmpp.nixg.ru" }
- WebSocket: wss://xmpp.nixg.ru/xmpp-websocket — РАБОТАЕТ (101, авторизация OK, LE-сертификат)
- Компоненты: `conference.nixg.ru` (MUC), `upload.nixg.ru` (HTTP Upload), `telegram.nixg.ru` (Slidge, component_ports 5347)
## TLS / Let's Encrypt (детали)
- Выпуск: `sudo certbot certonly --manual --preferred-challenges dns -d nixg.ru -d xmpp.nixg.ru --manual-auth-hook /bin/true --manual-cleanup-hook /bin/true` (TXT в Jino вручную)
- Сертификат: /etc/letsencrypt/live/nixg.ru/ → копия в /opt/icq/certs/nixg.ru.{crt,key} (cp -L!)
- Истекает **2026-11-26**; продление вручную: TXT в Jino → `sudo certbot renew --manual-auth-hook /bin/true --manual-cleanup-hook /bin/true` → копия в certs/ → restart prosody
- **Watchdog-напоминание**: Hermes cron ca2a23a34905, ежедневно 10:00 UTC, no_agent, доставка в Telegram DM.
Скрипт /opt/hermes/.hermes/scripts/check_icq_cert.sh (THRESHOLD=45 дн.): молчит, пока до истечения >45 дней;
при <=45 дней шлёт в TG инструкцию продления. Первое срабатывание ≈ 12.10.2026.
## Резервное копирование
- Скрипт: **/opt/icq/backup.sh** (по образцу /opt/netbox/backup.sh), права 755, в git.
- Что бэкапит (tar czf): data/ (аккаунты, PEP/OMEMO, MUC, http_upload) + config/ + certs/ + modules/ +
webchat/ + docker-compose.yml + все *.md (включая новые INFRA/BRIDGE/CHEATSHEET).
- Куда: /opt/icq/backups/ (локально, 7 дней) → /mnt/yandex-disk/backup/icq-backups/ (30 дней), проверка mountpoint.
- Cron (root): `45 2 * * * /opt/icq/backup.sh >> /var/log/icq-backup.log 2>&1` — после NetBox (2:00) и Gitea (2:30).
## Проверено (подтверждено)
- ✅ XMPP-сервер на nixg.ru, федерация (SRV), порты 5222/5269 открыты извне
- ✅ TLS на 443 (Caddy/Let's Encrypt): xmpp.nixg.ru (LE, 2026-08-28) и chat.nixg.ru (страница)
- ✅ WebSocket-путь целиком: Caddy → nginx:8081 → Prosody:5280 → 101 Switching Protocols
- ✅ Аутентификация по WebSocket: admin@nixg.ru (slixmpp, 2026-08-28)
- ✅ Веб-чат https://chat.nixg.ru/ (Converse v14.0.0, вход подтверждён headless-браузером)
- ✅ Рестарт Prosody с модулями (2026-08-29): c2s/s2s/http/https, LE-серты, mod_bosh, mod_http_upload,
mod_vcard_muc, mod_muc_moderation — без ошибок (исторические ошибки «http_upload MUST happen with TLS» — от 28 авг, до настройки LE)
- ✅ HTTP Upload: disco urn:xmpp:http:upload:0, слот, PUT, GET→200 (slixmpp)
- ✅ OMEMO: устройство Converse 14035 опубликовало devicelist + bundles в PEP (подробности: WALKTHROUGH §9)
- ✅ Мост Telegram: компонент telegram.nixg.ru аутентифицирован, Slidge started, upload discovery OK