Files
compose-matrix/docker-compose.yml
2024-07-12 17:23:19 +02:00

84 lines
1.9 KiB
YAML

services:
## matrix server
synapse:
image: matrixdotorg/synapse:${SYNAPSETAG:-latest}
restart: unless-stopped
env_file:
- .env
depends_on:
- db
ports:
- 8008:8008
- 91:91
- 92:92
deploy:
replicas: 1
placement:
max_replicas_per_node: 1
update_config:
parallelism: 1
delay: 10s
volumes:
- ${BASEDIR:-.}/files/synapse:/data
networks:
- backend
- matrixnet
## server db (optional; default is sqlite3, if not use remove db from depends_on)
db:
image: postgres:${POSTGRESSTAG:-11} # recommend to set fix version ! db major release can have breaking changes
restart: unless-stopped
env_file:
- .env
volumes:
- ${BASEDIR:-.}/files/postgresdata:/var/lib/postgresql/data
environment:
- POSTGRES_DB=${DBNAME:-synapse}
- POSTGRES_USER=${DBUSER:-synapse}
- POSTGRES_PASSWORD=${DBPASS:-synapse}
- POSTGRES_INITDB_ARGS=--lc-collate C --lc-ctype C --encoding UTF8
networks:
- matrixnet
## server (user / channel) managment (optional)
# synapse-admin:
# image: awesometechnologies/synapse-admin:${SYNAPSEADMINTAG:-latest}
# restart: unless-stopped
# env_file:
# - .env
# depends_on:
# - synapse
# ports:
# - 8888:80
# networks:
# - backend
# - matrixnet
## webfrontend (optional)
element:
image: vectorim/element-web:${ELEMENTTAG:-latest}
restart: unless-stopped
env_file:
- .env
depends_on:
- synapse
volumes:
- ${BASEDIR:-.}/files/element-config.json:/app/config.json
ports:
- 8080:80
- 8443:8443
deploy:
replicas: 1
placement:
max_replicas_per_node: 1
update_config:
parallelism: 1
delay: 10s
networks:
- backend
networks:
backend:
name: ${INTRANET:-backend}
# external: true
matrixnet: