From c0e4c4e34a761a1ee962fd073f3314384a7c76ce Mon Sep 17 00:00:00 2001 From: radu Date: Thu, 14 Nov 2024 20:40:08 +0000 Subject: [PATCH] feat(dc): initial matrix deployment --- docker-compose.yml | 85 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 85 insertions(+) create mode 100644 docker-compose.yml diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..80d82a1 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,85 @@ +services: + synapse: + image: docker.io/matrixdotorg/synapse:latest + 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 + 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 + 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 + 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 + 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: \ No newline at end of file