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