49 lines
1.4 KiB
YAML
49 lines
1.4 KiB
YAML
services:
|
|
synapse:
|
|
image: matrixdotorg/synapse:latest
|
|
container_name: ${MATRIX_SYNAPSE_CONTAINER_NAME:-matrix-synapse}
|
|
restart: unless-stopped
|
|
depends_on:
|
|
- postgres
|
|
environment:
|
|
SYNAPSE_SERVER_NAME: ${MATRIX_SERVER_NAME:-matrix.lab2025.duckdns.org}
|
|
SYNAPSE_REPORT_STATS: "no"
|
|
# federation disabled (user choice): client-only listener on 8008
|
|
ports:
|
|
- "${MATRIX_SYNAPSE_PORT:-8008}:8008"
|
|
volumes:
|
|
- ./synapse-data:/data
|
|
networks:
|
|
- matrix
|
|
|
|
postgres:
|
|
image: postgres:16-alpine
|
|
container_name: ${MATRIX_POSTGRES_CONTAINER_NAME:-matrix-postgres}
|
|
restart: unless-stopped
|
|
environment:
|
|
POSTGRES_DB: ${MATRIX_POSTGRES_DB:-synapse}
|
|
POSTGRES_USER: ${MATRIX_POSTGRES_USER:-synapse}
|
|
POSTGRES_PASSWORD: ${MATRIX_POSTGRES_PASSWORD}
|
|
POSTGRES_INITDB_ARGS: "--encoding=UTF-8 --locale=C"
|
|
volumes:
|
|
- ./postgres-data:/var/lib/postgresql/data
|
|
networks:
|
|
- matrix
|
|
|
|
element:
|
|
image: vectorim/element-web:latest
|
|
container_name: ${MATRIX_ELEMENT_CONTAINER_NAME:-matrix-element}
|
|
restart: unless-stopped
|
|
depends_on:
|
|
- synapse
|
|
ports:
|
|
- "${MATRIX_ELEMENT_PORT:-8081}:80"
|
|
volumes:
|
|
# Must mount the FILE, not a directory (element-web reads /app/config.json)
|
|
- ./element-config/config.json:/app/config.json
|
|
networks:
|
|
- matrix
|
|
|
|
networks:
|
|
matrix:
|
|
driver: bridge |