matrix/docker-compose.yaml

109 lines
2.7 KiB
YAML

---
services:
synapse:
image: ghcr.io/element-hq/synapse:v1.105.1
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
matrix_db:
ports:
- 8008:8008
db:
image: docker.io/postgres:16.2-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_db:
element:
image: vectorim/element-web:v1.11.65
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: docker.io/matrixdotorg/sydent:v2.6.1
restart: unless-stopped
networks:
matrix_server:
ipv4_address: 10.10.10.5
depends_on:
- synapse
synapse-admin:
image: awesometechnologies/synapse-admin:0.10.1
restart: unless-stopped
networks:
matrix_server:
ipv4_address: 10.10.10.6
depends_on:
- synapse
sliding-sync:
image: ghcr.io/matrix-org/sliding-sync:v0.99.16
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
matrix_db:
depends_on:
- synapse
hydrogen-web:
image: ghcr.io/element-hq/hydrogen-web:v0.4.1
restart: unless-stopped
environment:
- |
CONFIG_OVERRIDE=
{
"push": {
"appId": "io.element.hydrogen.web",
"gatewayUrl": "https://matrix.org",
"applicationServerKey": "BC-gpSdVHEXhvHSHS0AzzWrQoukv2BE7KzpoPO_FfPacqOo3l1pdqz7rSgmB04pZCWaHPz7XRe6fjLaC-WPDopM"
},
"defaultHomeServer": "DOMAIN",
"bugReportEndpointUrl": "https://element.io/bugreports/submit",
"themeManifests": [
"assets/theme-element.json"
],
"defaultTheme": {
"light": "element-light",
"dark": "element-dark"
}
}
networks:
matrix_server:
ipv4_address: 10.10.10.8
networks:
matrix_server:
external: true
matrix_db:
external: false