stacks/synapse/compose.yaml
2025-07-01 17:30:05 +08:00

55 lines
1.8 KiB
YAML

name: synapse
services:
synapse:
image: docker.io/matrixdotorg/synapse:latest
container_name: synapse
depends_on:
- synapse_db
volumes:
- synapse_data:/data
environment:
- SYNAPSE_CONFIG_PATH=/data/homeserver.yaml
networks:
- default
- proxy
restart: unless-stopped
labels:
caddy_0: mx.fern.garden
caddy_0.1_reverse_proxy: reverse_proxy /_matrix/* synapse:8008
caddy_0.2_reverse_proxy: reverse_proxy /_synapse/client/* synapse:8008
caddy_1: matrix.fern.garden
caddy_1.handle.1_encode: zstd gzip
caddy_1.handle.2_reverse_proxy: matrix-traefik:8080
caddy_1.handle.2_reverse_proxy.1_header_up: X-Forwarded-Port {http.request.port}
caddy_1.handle.2_reverse_proxy.2_header_up: X-Forwarded-TlsProto {tls_protocol}
caddy_1.handle.2_reverse_proxy.3_header_up: X-Forwarded-TlsCipher {tls_cipher}
caddy_1.handle.2_reverse_proxy.4_header_up: X-Forwarded-HttpsProto {proto}
caddy_2: matrix.fern.garden:8448
caddy_2.handle.1_encode: zstd gzip
caddy_2.handle.2_reverse_proxy: matrix-traefik:8448
caddy_2.handle.2_reverse_proxy.1_header_up: X-Forwarded-Port {http.request.port}
caddy_2.handle.2_reverse_proxy.2_header_up: X-Forwarded-TlsProto {tls_protocol}
caddy_2.handle.2_reverse_proxy.3_header_up: X-Forwarded-TlsCipher {tls_cipher}
caddy_2.handle.2_reverse_proxy.4_header_up: X-Forwarded-HttpsProto {proto}
synapse_db:
image: docker.io/postgres:16-alpine
container_name: synapse_db
volumes:
- synapse_db:/var/lib/postgresql/data
networks:
- default
restart: unless-stopped
networks:
default:
proxy:
external: true
volumes:
synapse_data:
name: synapse_data
synapse_db:
name: synapse_db