84 lines
1.9 KiB
YAML
84 lines
1.9 KiB
YAML
services:
|
|
## matrix server
|
|
synapse:
|
|
image: matrixdotorg/synapse:${SYNAPSETAG:-latest}
|
|
restart: unless-stopped
|
|
env_file:
|
|
- .env
|
|
depends_on:
|
|
- synapsedb
|
|
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)
|
|
synapsedb:
|
|
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: |