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: