dc-matrix/docker-compose.yml

103 lines
2.9 KiB
YAML

name: matrix
services:
synapse:
image: docker.io/matrixdotorg/synapse:v1.128.0@sha256:5765b7f1bd46b3ded0a59546c8e69b33e57ef6007854791701943f0414557e39
restart: unless-stopped
environment:
- SYNAPSE_CONFIG_PATH=/data/homeserver.yaml
volumes:
- synapse_data:/data
- uploads:/data/uploads
- media:/data/media
labels:
- "traefik.enable=true"
- "traefik.http.routers.matrix.rule=Host(`${DC_MATRIX_SYNAPSE_HOSTNAME:?}`)"
- "traefik.http.routers.matrix.entrypoints=websecure"
depends_on:
- db
networks:
- traefik
- matrix
mas:
image: ghcr.io/element-hq/matrix-authentication-service:0.14.1@sha256:5a24857b4cf429d21eb823cc80bf0bc78ffc055c303ef898a0f2e32cbf57c194
restart: unless-stopped
volumes:
- mas_data:/data
environment:
- MAS_CONFIG=/data/config.yaml
labels:
- "traefik.enable=true"
- "traefik.http.routers.mas.entrypoints=websecure"
- "traefik.http.routers.mas.priority=200"
- "traefik.http.routers.mas.rule=Host(`${DC_MATRIX_MAS_HOSTNAME:?}`) || (Host(`${DC_MATRIX_SYNAPSE_HOSTNAME:?}`) && PathRegexp(`/_matrix/client/.*/(login|logout|refresh)`))"
- "traefik.http.services.mas.loadbalancer.server.port=8080"
networks:
- traefik
- matrix
depends_on:
- db
db:
image: postgres:17.4@sha256:f57cfa8e5c1b89d07c9cee525849772027c1d05b6668b1ee2ce64a4890ecb1ef
restart: unless-stopped
environment:
- POSTGRES_USER=${DC_MATRIX_POSTGRES_USER:-synapse}
- POSTGRES_PASSWORD=${DC_MATRIX_POSTGRES_PASSWORD:?}
- POSTGRES_DB=${DC_MATRIX_POSTGRES_DB:-synapse}
# ensure the database gets created correctly
# https://matrix-org.github.io/synapse/latest/postgres.html#set-up-database
- POSTGRES_INITDB_ARGS=--encoding=UTF-8 --lc-collate=C --lc-ctype=C
volumes:
- schemas:/var/lib/postgresql/data
networks:
- matrix
whatsapp:
image: dock.mau.dev/mautrix/whatsapp:v0.12.0@sha256:b43bf2d24c71b107d31fcd8c9d367e7a44d21d15eb2805db7a39e928409132e3
restart: unless-stopped
volumes:
- whatsapp:/data
networks:
- matrix
depends_on:
- db
- synapse
# meta:
# image: dock.mau.dev/mautrix/meta:v0.4.3@sha256:c3957722d24fef0dbf0d56fcf3c5114327d270a1aa2c3e1be089395eb72a33e6
# restart: unless-stopped
# volumes:
# - meta:/data
# networks:
# - matrix
# depends_on:
# - db
# - synapse
# signal:
# image: dock.mau.dev/mautrix/signal:v0.7.4@sha256:0185c6e4168237671338a7a808ecf8c213579d0bb33e6662f2d9cf42dc9ea06c
# restart: unless-stopped
# volumes:
# - signal:/data
# networks:
# - matrix
# depends_on:
# - db
# - synapse
volumes:
mas_data:
synapse_data:
uploads:
media:
schemas:
whatsapp:
# meta:
# signal:
networks:
traefik:
external: true
matrix: