166 lines
4 KiB
YAML
166 lines
4 KiB
YAML
services:
|
|
synapse:
|
|
depends_on:
|
|
caddy:
|
|
condition: service_started
|
|
redis:
|
|
condition: service_started
|
|
postgres:
|
|
condition: service_started
|
|
container_name: synapse
|
|
command: generate
|
|
environment:
|
|
- SYNAPSE_SERVER_NAME=example.com
|
|
- SYNAPSE_REPORT_STATS=yes
|
|
image: matrixdotorg/synapse:latest
|
|
restart: unless-stopped
|
|
volumes:
|
|
- ./synapse:/data
|
|
networks:
|
|
- matrix-network
|
|
user: "1000:1000"
|
|
|
|
coturn:
|
|
depends_on:
|
|
caddy:
|
|
condition: service_started
|
|
container_name: coturn
|
|
image: coturn/coturn:latest
|
|
restart: unless-stopped
|
|
network_mode: "host"
|
|
volumes:
|
|
- ./coturn/turnserver.conf:/etc/coturn/turnserver.conf
|
|
- caddy_data:/etc/ssl/caddy:ro
|
|
|
|
caddy:
|
|
container_name: caddy
|
|
image: caddy/caddy:latest
|
|
restart: unless-stopped
|
|
networks:
|
|
- matrix-network
|
|
cap_add:
|
|
- NET_ADMIN
|
|
ports:
|
|
- "80:80"
|
|
- "443:443"
|
|
- "443:443/udp"
|
|
- "8448:8448"
|
|
volumes:
|
|
- ./caddy:/etc/caddy
|
|
- caddy_data:/data
|
|
- caddy_config:/config
|
|
|
|
postgres:
|
|
container_name: postgres-synapse
|
|
image: postgres:14-alpine
|
|
volumes:
|
|
- ~/apps/postgres:/var/lib/postgresql/data
|
|
environment:
|
|
- POSTGRES_PASSWORD=
|
|
- POSTGRES_USER=synapse
|
|
- POSTGRES_DB=synapse
|
|
- POSTGRES_INITDB_ARGS=--encoding=UTF-8 --lc-collate=C --lc-ctype=C
|
|
networks:
|
|
- matrix-network
|
|
|
|
synapse-admin:
|
|
depends_on:
|
|
caddy:
|
|
condition: service_started
|
|
container_name: matrix-admin
|
|
image: ghcr.io/etkecc/synapse-admin:latest
|
|
networks:
|
|
- matrix-network
|
|
restart: "unless-stopped"
|
|
|
|
redis:
|
|
container_name: redis
|
|
image: redis:8.0-M03-alpine
|
|
restart: always
|
|
volumes:
|
|
- redis_data:/data
|
|
networks:
|
|
- matrix-network
|
|
|
|
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
|
|
volumes:
|
|
- ./synapse:/data:rw
|
|
networks:
|
|
- matrix-network
|
|
user: "1000:1000"
|
|
environment:
|
|
SYNAPSE_WORKER: synapse.app.federation_sender
|
|
depends_on:
|
|
- synapse
|
|
- redis
|
|
|
|
synapse-federation-sender-2:
|
|
image: matrixdotorg/synapse:latest
|
|
container_name: synapse-federation-sender-2
|
|
restart: unless-stopped
|
|
entrypoint: [ "/start.py", "run", "--config-path=/data/homeserver.yaml", "--config-path=/data/workers/synapse-federation-sender-2.yaml" ]
|
|
healthcheck:
|
|
disable: true
|
|
volumes:
|
|
- ./synapse:/data:rw
|
|
networks:
|
|
- matrix-network
|
|
user: "1000:1000"
|
|
environment:
|
|
SYNAPSE_WORKER: synapse.app.federation_sender
|
|
depends_on:
|
|
- synapse
|
|
- redis
|
|
|
|
synapse-federation-sender-3:
|
|
image: matrixdotorg/synapse:latest
|
|
container_name: synapse-federation-sender-3
|
|
restart: unless-stopped
|
|
entrypoint: [ "/start.py", "run", "--config-path=/data/homeserver.yaml", "--config-path=/data/workers/synapse-federation-sender-3.yaml" ]
|
|
healthcheck:
|
|
disable: true
|
|
volumes:
|
|
- ./synapse:/data:rw
|
|
networks:
|
|
- matrix-network
|
|
user: "1000:1000"
|
|
environment:
|
|
SYNAPSE_WORKER: synapse.app.federation_sender
|
|
depends_on:
|
|
- synapse
|
|
- redis
|
|
|
|
synapse-federation-sender-4:
|
|
image: matrixdotorg/synapse:latest
|
|
container_name: synapse-federation-sender-4
|
|
restart: unless-stopped
|
|
entrypoint: [ "/start.py", "run", "--config-path=/data/homeserver.yaml", "--config-path=/data/workers/synapse-federation-sender-4.yaml" ]
|
|
healthcheck:
|
|
disable: true
|
|
volumes:
|
|
- ./synapse:/data:rw
|
|
networks:
|
|
- matrix-network
|
|
user: "1000:1000"
|
|
environment:
|
|
SYNAPSE_WORKER: synapse.app.federation_sender
|
|
depends_on:
|
|
- synapse
|
|
- redis
|
|
|
|
networks:
|
|
matrix-network:
|
|
|
|
|
|
volumes:
|
|
caddy_data:
|
|
caddy_config:
|
|
synapse-data:
|
|
|
|
|