Files
prosody/docker-compose.yml
mguschin 173f3a9705 Add guschin.info VirtualHost alongside xmpp.guschin.info
Users can now register as name@guschin.info or name@xmpp.guschin.info.
Added Let's Encrypt cert mounting and install for guschin.info domain.
Refactored entrypoint cert install into reusable function.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 07:56:48 +03:00

44 lines
1.3 KiB
YAML

services:
prosody:
build:
context: .
dockerfile: Dockerfile
container_name: prosody-xmpp
environment:
XMPP_DOMAIN: ${XMPP_DOMAIN}
XMPP_USER: ${XMPP_USER}
XMPP_PASSWORD: ${XMPP_PASSWORD}
MYSQL_HOST: ${MYSQL_HOST:-host.docker.internal}
MYSQL_USER: ${MYSQL_USER}
MYSQL_PASSWORD: ${MYSQL_PASSWORD}
MYSQL_DATABASE: ${MYSQL_DATABASE}
extra_hosts:
- "host.docker.internal:172.17.0.1"
ports:
- "5222:5222"
- "5269:5269"
- "5347:5347"
- "5280:5280"
volumes:
- ./data/prosody:/var/lib/prosody
- ./logs/prosody:/var/log/prosody
- ./data/prosody/configuration:/etc/prosody/conf.d
- /etc/letsencrypt/live/xmpp.guschin.info:/etc/prosody/certs/letsencrypt/live/xmpp.guschin.info:ro
- /etc/letsencrypt/archive/xmpp.guschin.info:/etc/prosody/certs/letsencrypt/archive/xmpp.guschin.info:ro
- /etc/letsencrypt/live/guschin.info:/etc/prosody/certs/letsencrypt/live/guschin.info:ro
- /etc/letsencrypt/archive/guschin.info:/etc/prosody/certs/letsencrypt/archive/guschin.info:ro
restart: unless-stopped
mem_limit: 200M
healthcheck:
test: ["CMD", "nc", "-z", "localhost", "5222"]
interval: 30s
timeout: 10s
retries: 3
start_period: 40s
networks:
- prosody
networks:
prosody:
driver: bridge