services: postgres: image: postgres:16 container_name: swchat-postgres restart: unless-stopped environment: POSTGRES_DB: ${POSTGRES_DB:-synapse} POSTGRES_USER: ${POSTGRES_USER:-synapse} POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-swchat_local_placeholder_change_me} POSTGRES_INITDB_ARGS: "--encoding=UTF8 --locale=C --lc-collate=C --lc-ctype=C" volumes: - /opt/swchat/data/postgres:/var/lib/postgresql/data networks: - swchat synapse: image: matrixdotorg/synapse:latest container_name: swchat-synapse restart: unless-stopped depends_on: - postgres environment: SYNAPSE_SERVER_NAME: ${SERVER_NAME:-matrix.stackworks.ru} SYNAPSE_REPORT_STATS: ${REPORT_STATS:-no} volumes: - /opt/swchat/data/synapse:/data ports: - '127.0.0.1:8008:8008' networks: - swchat caddy: image: caddy:2-alpine container_name: swchat-caddy restart: unless-stopped depends_on: - synapse environment: SERVER_NAME: ${SERVER_NAME:-matrix.stackworks.ru} ports: - '80:80' - '443:443' volumes: - ./deploy/caddy/Caddyfile:/etc/caddy/Caddyfile:ro - /opt/swchat/data/caddy/data:/data - /opt/swchat/data/caddy/config:/config - /opt/swchat/logs/caddy:/var/log/caddy networks: - swchat networks: swchat: driver: bridge