name: matrix services: synapse: image: docker.io/matrixdotorg/synapse:v1.130.0@sha256:a05a1e6b574c02957e1729a23462196679bed185cf169b5844be4cd04b198ccf 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: