matrix/docker-compose.yaml

79 lines
1.8 KiB
YAML

---
services:
synapse:
image: ghcr.io/element-hq/synapse:latest
restart: always
environment:
- SYNAPSE_CONFIG_PATH=/data/homeserver.yaml
volumes:
- ./config/synapse:/data
- /etc/default/matrix_shared_secret:/etc/default/matrix_shared_secret:ro
depends_on:
- db
networks:
matrix_server:
ipv4_address: 10.10.10.4
ports:
- 8008:8008
db:
image: docker.io/postgres:16-alpine
environment:
- POSTGRES_DB=synapse
- POSTGRES_USER=matrix_synapse
- POSTGRES_PASSWORD=PG_PASS
- POSTGRES_INITDB_ARGS=--encoding=UTF8 --lc-collate=C --lc-ctype=C
volumes:
- ./db:/var/lib/postgresql/data
networks:
matrix_server:
ipv4_address: 10.10.10.2
element:
image: vectorim/element-web:latest
restart: unless-stopped
volumes:
- ./config/element/element-config.json:/app/config.json
networks:
matrix_server:
ipv4_address: 10.10.10.3
depends_on:
- synapse
sydent:
image: matrixdotorg/sydent:latest
restart: unless-stopped
networks:
matrix_server:
ipv4_address: 10.10.10.5
depends_on:
- synapse
synapse-admin:
image: awesometechnologies/synapse-admin:latest
restart: unless-stopped
networks:
matrix_server:
ipv4_address: 10.10.10.6
depends_on:
- synapse
sliding-sync:
image: ghcr.io/matrix-org/sliding-sync:latest
restart: always
environment:
- SYNCV3_BINDADDR=:8008
- SYNCV3_SERVER=https://DOMAIN
- SYNCV3_SECRET=SLIDING_SYNC_KEY
- SYNCV3_DB=user=matrix_synapse dbname=synapse sslmode=disable host=db password=PG_PASS
networks:
matrix_server:
ipv4_address: 10.10.10.7
depends_on:
- synapse
networks:
matrix_server:
external: true