75 lines
2.1 KiB
YAML
75 lines
2.1 KiB
YAML
services:
|
|
synapse:
|
|
image: matrixdotorg/synapse:latest
|
|
container_name: synapse
|
|
restart: unless-stopped
|
|
environment:
|
|
SYNAPSE_SERVER_NAME: ${SYNAPSE_SERVER_NAME}
|
|
SYNAPSE_CONFIG_PATH: /data/homeserver.yaml
|
|
UID: "991"
|
|
GID: "991"
|
|
TZ: ${TZ:-UTC}
|
|
volumes:
|
|
- ./synapse:/data
|
|
ports:
|
|
# Client & federation API (put a reverse proxy in front for TLS)
|
|
- "8008:8008"
|
|
healthcheck:
|
|
test:
|
|
[
|
|
"CMD-SHELL",
|
|
"curl -fSs http://localhost:8008/health || exit 1",
|
|
]
|
|
interval: 15s
|
|
timeout: 5s
|
|
retries: 3
|
|
start_period: 30s
|
|
networks:
|
|
- traefik_portal
|
|
|
|
livekit:
|
|
image: livekit/livekit-server:latest
|
|
container_name: livekit
|
|
restart: unless-stopped
|
|
command: --config /etc/livekit.yaml
|
|
volumes:
|
|
- ./livekit/:/etc/
|
|
network_mode: "container:wireguard"
|
|
|
|
lk-jwt:
|
|
image: ghcr.io/element-hq/lk-jwt-service:latest
|
|
container_name: lk-jwt
|
|
restart: unless-stopped
|
|
environment:
|
|
LIVEKIT_URL: ${LIVEKIT_URL:-ws://localhost:7880}
|
|
LIVEKIT_KEY: ${LIVEKIT_KEY}
|
|
LIVEKIT_SECRET: ${LIVEKIT_SECRET}
|
|
LIVEKIT_JWT_BIND: ":8090"
|
|
LIVEKIT_INSECURE_SKIP_VERIFY_TLS: "true"
|
|
network_mode: "container:wireguard"
|
|
depends_on:
|
|
- livekit
|
|
|
|
lk-jwt-proxy:
|
|
image: nginx:alpine
|
|
container_name: lk-jwt-proxy
|
|
restart: unless-stopped
|
|
volumes:
|
|
- ./lk-jwt-proxy/:/etc/nginx/:ro
|
|
network_mode: "container:wireguard"
|
|
depends_on:
|
|
- lk-jwt
|
|
|
|
synapse-admin:
|
|
image: awesometechnologies/synapse-admin:latest
|
|
container_name: synapse-admin
|
|
restart: unless-stopped
|
|
ports:
|
|
- "8087:80"
|
|
networks:
|
|
- traefik_portal
|
|
|
|
networks:
|
|
traefik_portal:
|
|
external: true
|