docker/matrix/compose.yaml

75 lines
1.5 KiB
YAML

---
services:
install_site:
build: install_site
environment:
- BASE_URL=$MATRIX_BASE_URL
- OTHER_URLS=$COTURN_BASE_URL
- EMAIL
volumes:
- ./nginx.conf:/web/matrix.conf
- sites:/sites/
- certs:/etc/letsencrypt/
- certbotroot:/var/www/certbot/
- /var/run/docker.sock:/var/run/docker.sock
db:
image: docker.io/postgres:15
restart: unless-stopped
volumes:
- db:/var/lib/postgresql/data/
environment:
- POSTGRES_DB
- POSTGRES_USER
- POSTGRES_PASSWORD
- POSTGRES_INITDB_ARGS=--encoding=UTF-8 --lc-collate=C --lc-ctype=C
redis:
image: docker.io/redis:latest
restart: unless-stopped
coturn:
build: coturn
restart: unless-stopped
network_mode: host # TODO: https://github.com/instrumentisto/coturn-docker-image/issues/3
tmpfs:
- /var/lib/coturn/
environment:
- BASE_URL=$COTURN_BASE_URL
- AUTH_SECRET
synapse:
image: docker.io/matrixdotorg/synapse:v1.100.0
restart: unless-stopped
volumes:
- synapse_config:/config/
- synapse_data:/data/
environment:
- SYNAPSE_SERVER_NAME=$MATRIX_BASE_URL
- SYNAPSE_CONFIG_DIR=/config
- SYNAPSE_DATA_DIR=/data
- UID=$PUID
- GID=$PGID
- COTURN_BASE_URL
- AUTH_SECRET
networks:
- nginx
- default
depends_on:
- db
volumes:
sites:
external: true
certs:
external: true
certbotroot:
external: true
db:
synapse_config:
synapse_data:
networks:
nginx:
external: true