103 lines
2.9 KiB
YAML
103 lines
2.9 KiB
YAML
name: matrix
|
|
|
|
services:
|
|
synapse:
|
|
image: docker.io/matrixdotorg/synapse:v1.127.1@sha256:c3c4a9de2a0b7de37d9af8101f6196748d76cd6355e6e282d7b550dd0a833519
|
|
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:7f29c02ba9eeff4de9a9f414d803faa0e6fe5e8d15ebe217e3e418c82e652b35
|
|
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.11.4@sha256:95baa45e8c2a1f6b1eb264dbf67a7bff3e5ffb20b919e3fd4a8a8746a3e914e9
|
|
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:
|