This repository has been archived on 2022-01-30. You can view files and clone it, but cannot push or open issues or pull requests.
synapse/docker-compose.yml

238 lines
6.2 KiB
YAML

version: '3'
services:
#autoheal:
# restart: always
# image: willfarrell/autoheal
# environment:
# - AUTOHEAL_CONTAINER_LABEL=synapse-autoheal
# volumes:
# - /var/run/docker.sock:/var/run/docker.sock
postgres:
image: postgres:13
environment:
- POSTGRES_USER=synapse
- POSTGRES_PASSWORD
- POSTGRES_DB=synapsedb
- POSTGRES_INITDB_ARGS=--encoding=UTF-8 --lc-collate=C --lc-ctype=C
volumes:
- ./data/postgres:/var/lib/postgresql/data/
- ./progs:/progs
restart: always
healthcheck:
test: pg_isready -U synapse -d synapsedb
interval: 10s
timeout: 5s
retries: 5
redis:
image: redis:latest
restart: always
healthcheck:
test: ["CMD", "redis-cli", "ping"]
interval: 10s
timeout: 3s
retries: 3
synapse:
image: matrixdotorg/synapse:$SYNAPSE_TAG
restart: always
environment:
- SYNAPSE_CONFIG_PATH=/data/homeserver.yaml
volumes:
- ./data/synapse:/data
- ./conf/templates:/templates
depends_on:
- postgres
- redis
ports:
- 127.0.0.1:8008:8008/tcp
labels:
synapse-autoheal: "true"
sender1:
image: matrixdotorg/synapse:$SYNAPSE_TAG
restart: always
command: ["run", "--config-path=/data/homeserver.yaml", "--config-path=/workers/replication.yaml", "--config-path=/workers/sender1.yaml"]
environment:
- SYNAPSE_WORKER=synapse.app.federation_sender
volumes:
- ./data/synapse:/data
- ./conf/templates:/templates
- ./workers:/workers
depends_on:
- synapse
healthcheck:
disable: true
sender2:
image: matrixdotorg/synapse:$SYNAPSE_TAG
restart: always
command: ["run", "--config-path=/data/homeserver.yaml", "--config-path=/workers/replication.yaml", "--config-path=/workers/sender2.yaml"]
environment:
- SYNAPSE_WORKER=synapse.app.federation_sender
volumes:
- ./data/synapse:/data
- ./conf/templates:/templates
- ./workers:/workers
depends_on:
- synapse
healthcheck:
disable: true
sender3:
image: matrixdotorg/synapse:$SYNAPSE_TAG
restart: always
command: ["run", "--config-path=/data/homeserver.yaml", "--config-path=/workers/replication.yaml", "--config-path=/workers/sender3.yaml"]
environment:
- SYNAPSE_WORKER=synapse.app.federation_sender
volumes:
- ./data/synapse:/data
- ./conf/templates:/templates
- ./workers:/workers
depends_on:
- synapse
healthcheck:
disable: true
sender4:
image: matrixdotorg/synapse:$SYNAPSE_TAG
restart: always
command: ["run", "--config-path=/data/homeserver.yaml", "--config-path=/workers/replication.yaml", "--config-path=/workers/sender4.yaml"]
environment:
- SYNAPSE_WORKER=synapse.app.federation_sender
volumes:
- ./data/synapse:/data
- ./conf/templates:/templates
- ./workers:/workers
depends_on:
- synapse
healthcheck:
disable: true
generic1:
image: matrixdotorg/synapse:$SYNAPSE_TAG
restart: always
command: ["run", "--config-path=/data/homeserver.yaml", "--config-path=/workers/replication.yaml", "--config-path=/workers/generic.yaml"]
environment:
- SYNAPSE_WORKER=synapse.app.generic_worker
volumes:
- ./data/synapse:/data
- ./conf/templates:/templates
- ./workers:/workers
depends_on:
- synapse
ports:
- 127.0.0.1:8010:8008/tcp
labels:
synapse-autoheal: "true"
generic2:
image: matrixdotorg/synapse:$SYNAPSE_TAG
restart: always
command: ["run", "--config-path=/data/homeserver.yaml", "--config-path=/workers/replication.yaml", "--config-path=/workers/generic.yaml"]
environment:
- SYNAPSE_WORKER=synapse.app.generic_worker
volumes:
- ./data/synapse:/data
- ./conf/templates:/templates
- ./workers:/workers
depends_on:
- synapse
ports:
- 127.0.0.1:8011:8008/tcp
labels:
synapse-autoheal: "true"
generic3:
image: matrixdotorg/synapse:$SYNAPSE_TAG
restart: always
command: ["run", "--config-path=/data/homeserver.yaml", "--config-path=/workers/replication.yaml", "--config-path=/workers/generic.yaml"]
environment:
- SYNAPSE_WORKER=synapse.app.generic_worker
volumes:
- ./data/synapse:/data
- ./conf/templates:/templates
- ./workers:/workers
depends_on:
- synapse
ports:
- 127.0.0.1:8012:8008/tcp
labels:
synapse-autoheal: "true"
generic4:
image: matrixdotorg/synapse:$SYNAPSE_TAG
restart: always
command: ["run", "--config-path=/data/homeserver.yaml", "--config-path=/workers/replication.yaml", "--config-path=/workers/generic.yaml"]
environment:
- SYNAPSE_WORKER=synapse.app.generic_worker
volumes:
- ./data/synapse:/data
- ./conf/templates:/templates
- ./workers:/workers
depends_on:
- synapse
ports:
- 127.0.0.1:8013:8008/tcp
labels:
synapse-autoheal: "true"
media-repo:
image: turt2live/matrix-media-repo:latest
restart: always
ports:
- 127.0.0.1:8000:8000
volumes:
- ./data/media-repo:/data
depends_on:
- postgres
- redis
#healthcheck:
# test: curl -fSs http://localhost:8000/healthz || exit 1
# interval: 15s
# timeout: 5s
# retries: 5
pantalaimon:
image: matrixdotorg/pantalaimon:latest
restart: always
volumes:
- ./data/pantalaimon:/data
mjolnir:
image: matrixdotorg/mjolnir:latest
restart: always
volumes:
- ./data/mjolnir:/data
depends_on:
- pantalaimon
#healthcheck:
# test: curl -fSs http://localhost:8080/healthz || exit 1
# interval: 15s
# timeout: 5s
# retries: 5
prometheus:
image: prom/prometheus:latest
restart: always
command:
- --config.file=/etc/prometheus/prometheus.yml
volumes:
- ./conf/prometheus.yml:/etc/prometheus/prometheus.yml
- ./data/prometheus:/prometheus
networks:
default:
grafana_default:
aliases:
- synapse_prometheus
networks:
default:
driver_opts:
com.docker.network.bridge.name: br-synapse
grafana_default:
external: true