78 lines
2.2 KiB
YAML
78 lines
2.2 KiB
YAML
|
networks:
|
||
|
backend:
|
||
|
|
||
|
services:
|
||
|
postgres:
|
||
|
image: postgres:latest
|
||
|
restart: unless-stopped
|
||
|
volumes:
|
||
|
- ${VOLUME_PATH}/var/lib/postgresql/data:/var/lib/postgresql/data:rw
|
||
|
networks:
|
||
|
- backend
|
||
|
environment:
|
||
|
POSTGRES_DB: synapse
|
||
|
POSTGRES_USER: synapse_user
|
||
|
POSTGRES_PASSWORD: postgres
|
||
|
POSTGRES_INITDB_ARGS: --encoding=UTF8 --locale=C
|
||
|
|
||
|
redis:
|
||
|
image: redis:latest
|
||
|
restart: unless-stopped
|
||
|
networks:
|
||
|
- backend
|
||
|
|
||
|
synapse:
|
||
|
image: matrixdotorg/synapse:latest
|
||
|
container_name: synapse
|
||
|
restart: unless-stopped
|
||
|
volumes:
|
||
|
- ${VOLUME_PATH}/data:/data:rw
|
||
|
ports:
|
||
|
- 8008:8008
|
||
|
networks:
|
||
|
- backend
|
||
|
environment:
|
||
|
SYNAPSE_CONFIG_DIR: /data
|
||
|
SYNAPSE_CONFIG_PATH: /data/homeserver.yaml
|
||
|
depends_on:
|
||
|
- postgres
|
||
|
|
||
|
synapse-generic-worker-1:
|
||
|
image: matrixdotorg/synapse:latest
|
||
|
container_name: synapse-generic-worker-1
|
||
|
restart: unless-stopped
|
||
|
entrypoint: ["/start.py", "run", "--config-path=/data/homeserver.yaml", "--config-path=/data/workers/synapse-generic-worker-1.yaml"]
|
||
|
healthcheck:
|
||
|
test: ["CMD-SHELL", "curl -fSs http://localhost:8081/health || exit 1"]
|
||
|
start_period: "5s"
|
||
|
interval: "15s"
|
||
|
timeout: "5s"
|
||
|
networks:
|
||
|
- backend
|
||
|
volumes:
|
||
|
- ${VOLUME_PATH}/data:/data:rw # Replace VOLUME_PATH with the path to your Synapse volume
|
||
|
environment:
|
||
|
SYNAPSE_WORKER: synapse.app.generic_worker
|
||
|
# Expose port if required so your reverse proxy can send requests to this worker
|
||
|
# Port configuration will depend on how the http listener is defined in the worker configuration file
|
||
|
ports:
|
||
|
- 8081:8081
|
||
|
depends_on:
|
||
|
- synapse
|
||
|
|
||
|
synapse-federation-sender-1:
|
||
|
image: matrixdotorg/synapse:latest
|
||
|
container_name: synapse-federation-sender-1
|
||
|
restart: unless-stopped
|
||
|
entrypoint: ["/start.py", "run", "--config-path=/data/homeserver.yaml", "--config-path=/data/workers/synapse-federation-sender-1.yaml"]
|
||
|
healthcheck:
|
||
|
disable: true
|
||
|
networks:
|
||
|
- backend
|
||
|
volumes:
|
||
|
- ${VOLUME_PATH}/data:/data:rw # Replace VOLUME_PATH with the path to your Synapse volume
|
||
|
environment:
|
||
|
SYNAPSE_WORKER: synapse.app.federation_sender
|
||
|
depends_on:
|
||
|
- synapse
|