Files
matrix-server/docker-compose.yml

80 lines
1.8 KiB
YAML
Raw Normal View History

2026-02-14 15:58:18 +01:00
version: "3.8"
services:
conduit:
image: matrixconduit/matrix-conduit:latest
container_name: conduit
restart: unless-stopped
volumes:
- conduit_data:/var/lib/matrix-conduit/
- ./config/conduit.toml:/etc/conduit.toml:ro
environment:
DOMAIN: ${DOMAIN}
COTURN_AUTH_SECRET: ${COTURN_AUTH_SECRET}
CONDUIT_CONFIG: /etc/conduit.toml
networks:
- matrix
element:
image: vectorim/element-web:latest
container_name: element
restart: unless-stopped
environment:
- DOMAIN=${DOMAIN}
volumes:
- ./config/element_config.template.json:/app/config.template.json:ro
command: sh -c "envsubst < /app/config.template.json > /app/config.json && /docker-entrypoint.sh"
networks:
- matrix
caddy:
image: caddy:latest
container_name: caddy
restart: unless-stopped
environment:
- DOMAIN=${DOMAIN}
ports:
- "80:80"
- "443:443"
volumes:
- ./config/Caddyfile:/etc/caddy/Caddyfile
- caddy_data:/data
- caddy_config:/config
networks:
- matrix
coturn:
image: coturn/coturn:latest
container_name: coturn
restart: unless-stopped
environment:
- DOMAIN=${DOMAIN}
- COTURN_AUTH_SECRET=${COTURN_AUTH_SECRET}
command: >
-n
--log-file=stdout
--external-ip=YOUR_SERVER_PUBLIC_IP
--realm=$$DOMAIN
--use-auth-secret
--static-auth-secret=$$COTURN_AUTH_SECRET
--no-cli
--listening-port=3478
--tls-listening-port=5349
--fingerprint
ports:
- "3478:3478"
- "3478:3478/udp"
- "5349:5349"
- "5349:5349/udp"
- "49152-49200:49152-49200/udp"
networks:
- matrix
volumes:
conduit_data:
caddy_data:
caddy_config:
networks:
matrix: