Files
icq/docker-compose.yml
T
estorozhenko 3c4190402b Telegram bridge: slidgram + SOCKS5 proxy, mod_privilege (XEP-0356), XEP audit
- docker-compose: сервис slidgram (Slidge->Telegram, внешний компонент XEP-0114)
- кастомный образ slidgram-proxy: SOCKS5-патч (SLIDGRAM_PROXY -> Pyrogram) для маршрутизации через VPS01
- prosody: component telegram.nixg.ru (5347), component_secret в секции Component (0.11!),
  mod_privilege + privileged_entities (roster sync мостов), mod_pubsub включён
- modules/mod_privilege.lua (community, hg.prosody.im)
- docs/slidgram/: офлайн-копия документации slidgram (slidge.im)
- README: секции 'Функциональность (XEP)' и 'Мост Telegram'; XEP-AUDIT.md (полный аудит XEP)
- STATUS.md: мост ПОДКЛЮЧЁН, privilege, аудит
2026-08-29 14:38:25 +00:00

58 lines
2.1 KiB
YAML

version: "3.9"
services:
prosody:
image: prosody/prosody:latest
container_name: icq-prosody
restart: unless-stopped
hostname: chat.nixg.ru
volumes:
- ./data:/var/lib/prosody
- ./config:/etc/prosody
- ./certs:/etc/prosody/certs
- ./modules:/etc/prosody/modules # для кастомных модулей (http_upload и т.п.)
- ./logs:/var/log/prosody
ports:
- "5222:5222" # c2s (клиенты)
- "5269:5269" # s2s (федерация)
- "5280:5280" # BOSH / websocket
- "5281:5281" # websocket TLS (если нужен)
environment:
- LOCAL=nixg.ru
- DOMAIN=nixg.ru
- "XMPP_DOMAIN=nixg.ru"
# Для проброса трафика извне через WireGuard на 5222/5269 нужно,
# чтобы контейнер слушал на хосте. Пока оставляем привязку на все интерфейсы.
# Caddy (websocket) идёт на 5280/5281.
# Примечание: для федерации также открыть 5269 на VPS02 (форвард на bigbox).
webchat:
image: nginx:alpine
container_name: icq-webchat
restart: unless-stopped
volumes:
- ./webchat/nginx.conf:/etc/nginx/conf.d/default.conf:ro
- ./webchat:/usr/share/nginx/html:ro
ports:
- "8081:8081" # веб-клиент (Caddy на vps02 проксирует на 10.8.0.2:8081)
depends_on:
- prosody
# Мост XMPP -> Telegram (Slidge/slidgram), external component (XEP-0114)
# Трафик Telegram идёт через SOCKS5-прокси на хосте (172.27.0.1:1080 = SSH-туннель VPS01)
slidgram:
image: slidgram-proxy:latest
container_name: icq-slidgram
restart: unless-stopped
volumes:
- ./slidgram/data:/var/lib/slidge
environment:
- SLIDGE_JID=telegram.nixg.ru
- SLIDGE_SECRET=83276db6e870f540163f271d9bd7d3a390530b9ad7b45f58
- SLIDGE_SERVER=icq-prosody
- SLIDGE_PORT=5347
- SLIDGE_HOME_DIR=/var/lib/slidge
- SLIDGE_ADMINS=admin@nixg.ru
- SLIDGRAM_PROXY=socks5://172.27.0.1:1080
depends_on:
- prosody