services: synapse: image: docker.io/matrixdotorg/synapse:v1.120.2@sha256:4643acbfbca970c4b9ff20023c8c5d8ceeb2594f2117e823698bb610c7d0dbda restart: unless-stopped environment: - SYNAPSE_CONFIG_PATH=/data/homeserver.yaml volumes: - files:/data - uploads:/data/uploads - media:/data/media labels: - "traefik.enable=true" - "traefik.http.routers.matrix.rule=Host(`${DC_MATRIX_HOSTNAME:?}`)" - "traefik.http.routers.matrix.entrypoints=websecure" depends_on: - db networks: - traefik - matrix db: image: docker.io/postgres:12.22-alpine@sha256:154b5962b6dc5cab57fbcb7045b1faa5c48ae98d1734479b8d070369ce3d194c 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 bridge-whatsapp: container_name: whatsapp image: dock.mau.dev/mautrix/whatsapp:v0.11.1@sha256:2ce2005070739663ec8d926636f8376fc271eed65d4d15506c21a12b4089df9e restart: unless-stopped volumes: - whatsapp:/data networks: - matrix depends_on: - db - synapse bridge-meta: container_name: meta image: dock.mau.dev/mautrix/meta:v0.4.2@sha256:71a6f74640e767ee3bfa768004e74c06ed38ef8f87f6aec4d329cb9f11bbb5bb restart: unless-stopped volumes: - meta:/data networks: - matrix depends_on: - db - synapse bridge-signal: container_name: signal image: dock.mau.dev/mautrix/signal:v0.7.3@sha256:6c3e3c6eb681dd2cf5fb3ba1d1f8b04a8d754ab8499f739812523d2979f7144c restart: unless-stopped volumes: - signal:/data networks: - matrix depends_on: - db - synapse volumes: files: uploads: media: schemas: whatsapp: meta: signal: networks: traefik: external: true matrix: