Files
my-self-host-services/matrix/docker-compose.yaml
T
2026-07-30 16:25:59 +00:00

59 lines
1.2 KiB
YAML

networks:
caddy:
name: caddy
driver: bridge
external: true
matrix:
name: matrix
driver: bridge
services:
synapse:
image: ghcr.io/element-hq/synapse:latest
restart: unless-stopped
container_name: synapse
labels:
- "com.centurylinklabs.watchtower.enable=true"
environment:
UID: 1000
GID: 100
SYNAPSE_CONFIG_DIR: /data
SYNAPSE_CONFIG_PATH: /data/homeserver.yaml
volumes:
- ./data/synapse:/data
networks:
- caddy
- matrix
depends_on:
db:
condition: service_healthy
logging:
driver: "json-file"
options:
max-size: "100m"
max-file: "3"
db:
image: postgres:16-alpine
restart: unless-stopped
container_name: synapse-db
environment:
POSTGRES_USER: synapse
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
POSTGRES_DB: synapse
POSTGRES_INITDB_ARGS: "--encoding=UTF8 --locale=C"
volumes:
- ./data/postgres:/var/lib/postgresql/data
networks:
- matrix
healthcheck:
test: ["CMD-SHELL", "pg_isready -U synapse"]
interval: 10s
timeout: 5s
retries: 5
logging:
driver: "json-file"
options:
max-size: "100m"
max-file: "3"