matrix/docker-compose.yml

57 lines
1.7 KiB
YAML

version: "3.4"
networks:
db:
web:
external:
name: proxy_web
services:
synapse:
image: "matrixdotorg/synapse"
volumes:
- "/data/config/matrix/synapse/:/data/"
environment:
- "SYNAPSE_SERVER_NAME=zom.bi"
labels:
- "traefik.enable=true"
- "traefik.http.routers.matrix.rule=Host(`matrix.zom.bi`) && PathPrefix(`/_matrix/`)"
- "traefik.http.routers.matrix.entrypoints=websecure"
- "traefik.http.routers.matrix.tls=true"
- "traefik.http.routers.matrix.tls.certresolver=default"
- "traefik.http.services.matrix.loadbalancer.server.port=8008"
- "traefik.docker.network=proxy_web"
networks:
- web
- db
riot:
image: "vectorim/element-web"
labels:
- "traefik.enable=true"
- "traefik.http.routers.riot.rule=Host(`riot.zom.bi`, `matrix.zom.bi`)"
- "traefik.http.routers.riot.entrypoints=websecure"
- "traefik.http.routers.riot.tls=true"
- "traefik.http.routers.riot.tls.certresolver=default"
- "traefik.http.services.riot.loadbalancer.server.port=80"
- "traefik.docker.network=proxy_web"
volumes:
- "/data/config/matrix/riot/config.json:/app/config.json"
networks:
- web
db:
image: postgres:10
environment:
POSTGRES_USER: synapse
POSTGRES_PASSWORD: tp4ssw0rd
LANG: C
POSTGRES_DB: synapse
POSTGRES_INITDB_ARGS: "--encoding='UTF8' --lc-collate='C' --lc-ctype='C'"
healthcheck:
test: '/usr/bin/psql --username synapse --command "SELECT 1;"'
interval: 2s
timeout: 5s
retries: 30
volumes:
- "/data/config/matrix/db:/var/lib/postgresql/data"
networks:
- db