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: