2024-11-05 00:25:41 +01:00
|
|
|
networks:
|
|
|
|
|
ecbackend:
|
|
|
|
|
|
|
|
|
|
services:
|
|
|
|
|
auth-service:
|
2025-07-31 16:58:14 +02:00
|
|
|
image: ghcr.io/element-hq/lk-jwt-service:0.2.3
|
2025-06-12 16:42:06 +02:00
|
|
|
pull_policy: always
|
2024-11-05 00:25:41 +01:00
|
|
|
hostname: auth-server
|
|
|
|
|
environment:
|
2025-05-27 16:30:06 +02:00
|
|
|
- LIVEKIT_JWT_PORT=6080
|
2025-05-05 12:57:23 +02:00
|
|
|
- LIVEKIT_URL=wss://matrix-rtc.m.localhost/livekit/sfu
|
2024-11-05 00:25:41 +01:00
|
|
|
- LIVEKIT_KEY=devkey
|
|
|
|
|
- LIVEKIT_SECRET=secret
|
|
|
|
|
# If the configured homeserver runs on localhost, it'll probably be using
|
|
|
|
|
# a self-signed certificate
|
|
|
|
|
- LIVEKIT_INSECURE_SKIP_VERIFY_TLS=YES_I_KNOW_WHAT_I_AM_DOING
|
2025-07-31 15:52:58 +02:00
|
|
|
- LIVEKIT_FULL_ACCESS_HOMESERVERS=*
|
2024-11-05 00:25:41 +01:00
|
|
|
deploy:
|
|
|
|
|
restart_policy:
|
|
|
|
|
condition: on-failure
|
|
|
|
|
ports:
|
|
|
|
|
# HOST_PORT:CONTAINER_PORT
|
2025-05-27 16:30:06 +02:00
|
|
|
- 6080:6080
|
2025-07-31 15:52:58 +02:00
|
|
|
extra_hosts:
|
|
|
|
|
- "matrix-rtc.m.localhost:host-gateway"
|
2024-11-05 00:25:41 +01:00
|
|
|
networks:
|
|
|
|
|
- ecbackend
|
|
|
|
|
|
|
|
|
|
livekit:
|
|
|
|
|
image: livekit/livekit-server:latest
|
2025-04-24 23:46:45 +02:00
|
|
|
hostname: livekit-sfu
|
2024-11-05 00:25:41 +01:00
|
|
|
command: --dev --config /etc/livekit.yaml
|
|
|
|
|
restart: unless-stopped
|
|
|
|
|
# The SFU seems to work far more reliably when we let it share the host
|
|
|
|
|
# network rather than opening specific ports (but why?? we're not missing
|
|
|
|
|
# any…)
|
|
|
|
|
ports:
|
|
|
|
|
# HOST_PORT:CONTAINER_PORT
|
|
|
|
|
- 7880:7880/tcp
|
|
|
|
|
- 7881:7881/tcp
|
|
|
|
|
- 7882:7882/tcp
|
|
|
|
|
- 50100-50200:50100-50200/udp
|
|
|
|
|
volumes:
|
2024-11-06 19:46:59 +01:00
|
|
|
- ./backend/dev_livekit.yaml:/etc/livekit.yaml:Z
|
2024-11-05 00:25:41 +01:00
|
|
|
networks:
|
|
|
|
|
- ecbackend
|
|
|
|
|
|
|
|
|
|
redis:
|
|
|
|
|
image: redis:6-alpine
|
|
|
|
|
command: redis-server /etc/redis.conf
|
|
|
|
|
ports:
|
|
|
|
|
# HOST_PORT:CONTAINER_PORT
|
|
|
|
|
- 6379:6379
|
|
|
|
|
volumes:
|
2024-11-07 19:16:40 +01:00
|
|
|
- ./backend/redis.conf:/etc/redis.conf:Z
|
2024-11-05 00:25:41 +01:00
|
|
|
networks:
|
|
|
|
|
- ecbackend
|
|
|
|
|
|
|
|
|
|
synapse:
|
|
|
|
|
hostname: homeserver
|
|
|
|
|
image: docker.io/matrixdotorg/synapse:latest
|
|
|
|
|
environment:
|
|
|
|
|
- SYNAPSE_CONFIG_PATH=/data/cfg/homeserver.yaml
|
2024-11-06 10:55:13 +01:00
|
|
|
# Needed for rootless podman-compose such that the uid/gid mapping does
|
|
|
|
|
# fit local user uid. If the container runs as root (uid 0) it is fine as
|
|
|
|
|
# it actually maps to your non-root user on the host (e.g. 1000).
|
|
|
|
|
# Otherwise uid mapping will not match your non-root user.
|
|
|
|
|
- UID=0
|
|
|
|
|
- GID=0
|
2024-11-05 00:25:41 +01:00
|
|
|
volumes:
|
2024-11-07 19:16:48 +01:00
|
|
|
- ./backend/synapse_tmp:/data:Z
|
|
|
|
|
- ./backend/dev_homeserver.yaml:/data/cfg/homeserver.yaml:Z
|
2024-11-05 00:25:41 +01:00
|
|
|
networks:
|
|
|
|
|
- ecbackend
|
|
|
|
|
|
2025-03-25 08:18:34 +01:00
|
|
|
element-web:
|
|
|
|
|
image: ghcr.io/element-hq/element-web:develop
|
2025-04-04 09:12:27 +02:00
|
|
|
pull_policy: always
|
2025-03-25 08:18:34 +01:00
|
|
|
volumes:
|
2025-05-19 14:18:03 +02:00
|
|
|
- ./backend/ew.test.config.json:/app/config.json:Z
|
2025-03-25 08:18:34 +01:00
|
|
|
environment:
|
2025-05-19 14:18:03 +02:00
|
|
|
ELEMENT_WEB_PORT: 8081
|
2025-03-25 08:18:34 +01:00
|
|
|
ports:
|
2025-05-19 14:18:03 +02:00
|
|
|
- "8081:8081"
|
2025-03-25 08:18:34 +01:00
|
|
|
networks:
|
|
|
|
|
- ecbackend
|
|
|
|
|
|
2024-11-05 00:25:41 +01:00
|
|
|
nginx:
|
2025-05-05 13:06:02 +02:00
|
|
|
# see backend/dev_tls_setup for how to generate the tls certs
|
2025-05-05 12:57:23 +02:00
|
|
|
hostname: synapse.m.localhost
|
2024-11-05 00:25:41 +01:00
|
|
|
image: nginx:latest
|
|
|
|
|
volumes:
|
2025-04-24 23:46:45 +02:00
|
|
|
- ./backend/dev_nginx.conf:/etc/nginx/conf.d/default.conf:Z
|
2025-05-05 13:06:02 +02:00
|
|
|
- ./backend/dev_tls_m.localhost.key:/root/ssl/key.pem:Z
|
|
|
|
|
- ./backend/dev_tls_m.localhost.crt:/root/ssl/cert.pem:Z
|
2024-11-05 00:25:41 +01:00
|
|
|
ports:
|
|
|
|
|
# HOST_PORT:CONTAINER_PORT
|
2025-04-24 23:46:45 +02:00
|
|
|
- "443:443"
|
2024-11-05 00:25:41 +01:00
|
|
|
- "8008:80"
|
|
|
|
|
- "4443:443"
|
2025-05-05 13:06:02 +02:00
|
|
|
- "8448:8448"
|
|
|
|
|
extra_hosts:
|
|
|
|
|
- "host.docker.internal:host-gateway"
|
2024-11-05 00:25:41 +01:00
|
|
|
depends_on:
|
|
|
|
|
- synapse
|
|
|
|
|
networks:
|
|
|
|
|
- ecbackend
|