dc-matrix/docker-compose.yml

85 lines
No EOL
2.3 KiB
YAML

services:
synapse:
image: docker.io/matrixdotorg/synapse:latest@sha256:edf3eb840f113fc6a9abe8abb7f0c048e68a9f7f941ae86fb12ee25fb9b3f556
restart: unless-stopped
environment:
- SYNAPSE_CONFIG_PATH=/data/homeserver.yaml
- VIRTUAL_PORT=8008
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-alpine@sha256:1d58ba6289212caace7c3970cb3922a5b45fd2af5d1724fde280dab4a5c7a762
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
mautrix-whatsapp:
container_name: mautrix-whatsapp
image: dock.mau.dev/mautrix/whatsapp:latest@sha256:08732b016c82a7cf7aacf13224d4bb0af40047d5de7e7cd19aae728b65f581ad
restart: unless-stopped
volumes:
- mautrix-whatsapp:/data
networks:
- matrix
depends_on:
- db
- synapse
mautrix-meta:
container_name: mautrix-meta
image: dock.mau.dev/mautrix/meta:latest@sha256:b9eb17669489c225b370d6fa8c93525ab17a87d7523cd5d8834b80c3f293e96f
restart: unless-stopped
volumes:
- mautrix-meta:/data
networks:
- matrix
depends_on:
- db
- synapse
mautrix-signal:
container_name: mautrix-signal
image: dock.mau.dev/mautrix/signal:latest@sha256:e05d45f5843ba24c9272ccdd401697380f620a478921e4a1a574f97c1ae045a4
restart: unless-stopped
volumes:
- mautrix-signal:/data
networks:
- matrix
depends_on:
- db
- synapse
volumes:
files:
uploads:
media:
schemas:
mautrix-whatsapp:
mautrix-meta:
mautrix-signal:
networks:
traefik:
external: true
matrix: