53 lines
1.6 KiB
YAML
53 lines
1.6 KiB
YAML
version: '3'
|
|
|
|
services:
|
|
|
|
traefik:
|
|
image: "traefik"
|
|
container_name: matrix-traefik
|
|
restart: "always"
|
|
command:
|
|
- "--api=true"
|
|
- "--providers.docker=true"
|
|
- "--providers.docker.exposedbydefault=false"
|
|
- "--entrypoints.web.address=:80"
|
|
- "--entrypoints.websecure.address=:443"
|
|
- "--certificatesresolvers.letls.acme.email=admin@doeringer.eu"
|
|
- "--certificatesresolvers.letls.acme.storage=/certs/acme.json"
|
|
- "--certificatesresolvers.letls.acme.httpchallenge=true"
|
|
- "--certificatesresolvers.letls.acme.httpchallenge.entrypoint=web"
|
|
ports:
|
|
- "443:443"
|
|
- "80:80"
|
|
volumes:
|
|
- "/var/run/docker.sock:/var/run/docker.sock:ro"
|
|
- "/opt/02_messaging/traefik/traefik_certs:/certs"
|
|
|
|
nginx:
|
|
image: "nginx:1.22.0"
|
|
container_name: matrix-nginx
|
|
restart: "always"
|
|
volumes:
|
|
- /opt/02_messaging/nginx/conf.d/default.conf:/etc/nginx/conf.d/default.conf:ro
|
|
|
|
synapse:
|
|
image: docker.io/matrixdotorg/synapse:v1.63.0
|
|
container_name: matrix-synapse
|
|
restart: unless-stopped
|
|
environment:
|
|
- SYNAPSE_CONFIG_PATH=/data/homeserver.yaml
|
|
volumes:
|
|
- /opt/02_messaging/synapse:/data
|
|
depends_on:
|
|
- synapse_db
|
|
|
|
synapse_db:
|
|
image: docker.io/postgres:14-alpine
|
|
restart: unless-stopped
|
|
container_name: matrix-synapse-db
|
|
environment:
|
|
- POSTGRES_USER=synapse
|
|
- POSTGRES_PASSWORD=aComplexPassphraseNobodyCanGuess
|
|
- POSTGRES_INITDB_ARGS=--encoding=UTF-8 --lc-collate=C --lc-ctype=C
|
|
volumes:
|
|
- /opt/02_messaging/postgres:/var/lib/postgresql/data |