56 lines
1.7 KiB
YAML
56 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
|