2022-01-13 15:22:49 +00:00
# This compose file is compatible with Compose itself, it might need some
# adjustments to run properly with stack.
version : '3'
services :
synapse :
2022-09-06 15:46:03 +00:00
# Use docker.io/matrixdotorg/synapse:latest if you want the official image (without the Mjolnir module).
2022-09-06 04:59:52 +00:00
image : docker pull ghcr.io/tommytran732/synapse:latest
2022-01-13 15:22:49 +00:00
# Since synapse does not retry to connect to the database, restart upon
# failure
restart : unless-stopped
2022-01-13 15:40:59 +00:00
container_name : synapse
2022-09-06 15:46:03 +00:00
# Comment out the next line if you are using the official image.
user : "991:991"
2022-01-13 15:22:49 +00:00
# See the readme for a full documentation of the environment settings
# NOTE: You must edit homeserver.yaml to use postgres, it defaults to sqlite
environment :
- SYNAPSE_CONFIG_PATH=/data/homeserver.yaml
volumes :
- ./files:/data:Z
2022-01-17 21:03:56 +00:00
# Uncomment if you want to install appservices. The registration files should go into ./bridges, and in your homeserver.yaml specify that it should install the appservices in /bridges.
2022-01-17 21:11:03 +00:00
# - ./bridges:/bridges:Z
2022-01-13 15:22:49 +00:00
depends_on :
2022-01-13 15:40:32 +00:00
- postgres
2022-01-13 15:26:55 +00:00
networks :
2022-01-13 16:03:12 +00:00
- matrix
2022-01-13 15:22:49 +00:00
2022-01-13 15:40:32 +00:00
postgres :
2022-01-13 23:16:39 +00:00
image : docker.io/postgres:alpine
2022-01-13 15:40:32 +00:00
restart : unless-stopped
container_name : postgres
2022-01-13 15:22:49 +00:00
# Change that password, of course!
environment :
- POSTGRES_USER=synapse
- POSTGRES_PASSWORD=changeme
- POSTGRES_INITDB_ARGS=--encoding=UTF-8 --lc-collate=C --lc-ctype=C
volumes :
- ./schemas:/var/lib/postgresql/data:Z
2022-01-13 15:26:55 +00:00
networks :
2022-01-13 16:03:12 +00:00
- matrix
2022-01-13 15:26:55 +00:00
2022-01-13 15:40:32 +00:00
element :
2022-01-13 16:02:06 +00:00
image : vectorim/element-web:latest
2022-01-13 15:40:32 +00:00
restart : unless-stopped
container_name : element
2022-01-13 16:03:39 +00:00
volumes :
- ./element-config.json:/app/config.json:Z
2022-01-13 15:40:32 +00:00
networks :
2022-01-13 16:03:12 +00:00
- matrix
2022-01-13 15:40:32 +00:00
2022-01-13 15:26:55 +00:00
swag :
image : ghcr.io/linuxserver/swag
2022-01-13 15:40:32 +00:00
restart : unless-stopped
2022-01-13 15:26:55 +00:00
container_name : swag
cap_add :
- NET_ADMIN
environment :
- PUID=1000
- PGID=1000
2022-01-13 16:50:31 +00:00
- URL=yourdomain.tld
2022-01-15 15:45:33 +00:00
- SUBDOMAINS=synapse,element
2022-01-13 15:26:55 +00:00
- VALIDATION=http
2022-01-13 16:50:31 +00:00
- EMAIL=changeme@yourdomain.tld
2022-01-13 15:26:55 +00:00
- ONLY_SUBDOMAINS=true
volumes :
- ./swag:/config:Z
- /etc/localtime:/etc/localtime:ro
ports :
- 443 : 443
- 80 : 80
networks :
2022-01-13 16:03:12 +00:00
- matrix
2022-01-13 16:30:41 +00:00
2022-07-01 04:15:15 +00:00
pantalaimon :
2022-07-04 17:37:35 +00:00
image : matrixdotorg/pantalaimon:latest
2022-07-01 04:15:15 +00:00
container_name : pantalaimon
restart : unless-stopped
volumes :
- ./pantalaimon:/data:Z
depends_on :
- synapse
networks :
- matrix
2022-07-01 03:41:55 +00:00
mjolnir :
image : matrixdotorg/mjolnir:latest
container_name : mjolnir
2022-07-01 04:15:15 +00:00
restart : unless-stopped
2022-07-01 03:41:55 +00:00
volumes :
- ./mjolnir:/data:Z
2022-07-01 04:15:15 +00:00
depends_on :
- pantalaimon
networks :
- matrix
2022-01-13 16:30:41 +00:00
networks :
matrix :