dc-matrix/docker-compose.yml

103 lines
2.9 KiB
YAML

name: matrix
services:
synapse:
image: docker.io/matrixdotorg/synapse:v1.129.0@sha256:ca832b91096279de8f6571e21757f25fd69c8ff3a8cc3c1a336280afee45be1e
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.16.0@sha256:bf3daeb5a37a7aab92d351028e8b6406a750977d716eb2da92f7a61e27fe05fc
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.5@sha256:6efd0df010dc3cb40d5e33e3ef84acecc5e73161bd3df06029ee8698e5e12c60
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.1@sha256:4232314f66156d5f2eb1ac841c11f265af888a1b56c302f367d1274d82dd521f
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: