2021-07-31 14:39:23 -05:00
|
|
|
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:latest
|
|
|
|
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
|
|
|
|
depends_on:
|
2021-08-19 16:45:07 -05:00
|
|
|
- postgres
|
|
|
|
- redis
|
2021-07-31 14:39:23 -05:00
|
|
|
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
|
|
|
|
- ./workers:/workers
|
|
|
|
depends_on:
|
2021-08-19 16:45:07 -05:00
|
|
|
- synapse
|
2021-07-31 14:39:23 -05:00
|
|
|
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
|
|
|
|
- ./workers:/workers
|
|
|
|
depends_on:
|
2021-08-19 16:45:07 -05:00
|
|
|
- synapse
|
2021-07-31 14:39:23 -05:00
|
|
|
healthcheck:
|
|
|
|
disable: true
|
|
|
|
|
2021-08-27 18:20:18 -05:00
|
|
|
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
|
|
|
|
- ./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
|
|
|
|
- ./workers:/workers
|
|
|
|
depends_on:
|
|
|
|
- synapse
|
|
|
|
healthcheck:
|
|
|
|
disable: true
|
|
|
|
|
2021-07-31 14:39:23 -05:00
|
|
|
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
|
|
|
|
- ./workers:/workers
|
|
|
|
depends_on:
|
2021-08-19 16:45:07 -05:00
|
|
|
- synapse
|
2021-07-31 14:39:23 -05:00
|
|
|
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
|
|
|
|
- ./workers:/workers
|
|
|
|
depends_on:
|
2021-08-19 16:45:07 -05:00
|
|
|
- synapse
|
2021-07-31 14:39:23 -05:00
|
|
|
ports:
|
|
|
|
- 127.0.0.1:8011:8008/tcp
|
|
|
|
labels:
|
|
|
|
synapse-autoheal: "true"
|
|
|
|
|
2021-08-27 18:20:18 -05:00
|
|
|
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
|
|
|
|
- ./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
|
|
|
|
- ./workers:/workers
|
|
|
|
depends_on:
|
|
|
|
- synapse
|
|
|
|
ports:
|
|
|
|
- 127.0.0.1:8013:8008/tcp
|
|
|
|
labels:
|
|
|
|
synapse-autoheal: "true"
|
|
|
|
|
2021-08-28 20:02:08 -05:00
|
|
|
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
|
2021-09-05 21:10:08 -05:00
|
|
|
#healthcheck:
|
|
|
|
# test: curl -fSs http://localhost:8000/healthz || exit 1
|
|
|
|
# interval: 15s
|
|
|
|
# timeout: 5s
|
|
|
|
# retries: 5
|
2021-08-28 20:02:08 -05:00
|
|
|
|
2021-09-05 19:48:08 -05:00
|
|
|
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
|
2021-09-05 21:10:08 -05:00
|
|
|
#healthcheck:
|
|
|
|
# test: curl -fSs http://localhost:8080/healthz || exit 1
|
|
|
|
# interval: 15s
|
|
|
|
# timeout: 5s
|
|
|
|
# retries: 5
|
2021-09-05 19:48:08 -05:00
|
|
|
|
2021-08-06 23:50:50 -05:00
|
|
|
prometheus:
|
|
|
|
image: prom/prometheus:latest
|
|
|
|
restart: always
|
|
|
|
command:
|
|
|
|
- --config.file=/etc/prometheus/prometheus.yml
|
|
|
|
volumes:
|
2021-08-07 11:47:43 -05:00
|
|
|
- ./conf/prometheus.yml:/etc/prometheus/prometheus.yml
|
2021-08-06 23:50:50 -05:00
|
|
|
- ./data/prometheus:/prometheus
|
|
|
|
networks:
|
|
|
|
default:
|
2021-08-19 16:45:07 -05:00
|
|
|
grafana_default:
|
2021-08-06 23:50:50 -05:00
|
|
|
aliases:
|
|
|
|
- synapse_prometheus
|
2021-07-31 14:39:23 -05:00
|
|
|
|
|
|
|
|
|
|
|
networks:
|
2021-08-19 16:45:07 -05:00
|
|
|
grafana_default:
|
2021-07-31 14:39:23 -05:00
|
|
|
external: true
|