Personal Homelab
1[Unit]
2Description=MatrixRTC Livekit Quadlet
3Wants=matrix-rtc-valkey.service
4After=matrix-rtc-valkey.service
5
6[Container]
7Image=docker.io/livekit/livekit-server:v1.9.8
8AutoUpdate=registry
9ContainerName=matrix-rtc-sfu
10
11User=1000:1000
12
13Label="glance.id=matrix-rtc"
14Label="glance.icon=di:matrix-light"
15Label="glance.description=Matrix Realtime Stack"
16Label="glance.name=MatrixRTC"
17Label="glance.hide=false"
18
19Label="traefik.enable=true"
20Label="traefik.http.routers.matrix-rtc-sfu.rule=Host(`matrix-rtc.${base_domain}`) && PathPrefix(`/livekit/sfu`)"
21Label="traefik.http.routers.matrix-rtc-sfu.middlewares=strip-sfu-prefix"
22Label="traefik.http.middlewares.strip-sfu-prefix.stripprefix.prefixes=/livekit/sfu"
23Label="traefik.http.services.matrix-rtc-sfu.loadbalancer.server.port=7880"
24
25Label="traefik.tcp.routers.matrix-rtc-turn.rule=HostSNI(`turn.${base_domain}`)"
26Label="traefik.tcp.routers.matrix-rtc-turn.tls=true"
27Label="traefik.tcp.routers.matrix-rtc-turn.tls.certresolver=leresolver"
28Label="traefik.tcp.routers.matrix-rtc-turn.service=matrix-rtc-turn"
29Label="traefik.tcp.services.matrix-rtc-turn.loadbalancer.server.port=5349"
30
31Exec=--config /etc/livekit.yaml
32
33Volume=%E/matrix-rtc/livekit.yaml:/etc/livekit.yaml:Z
34
35Pod=matrix-rtc.pod
36
37[Service]
38TimeoutStartSec=900
39Restart=always
40
41[Install]
42WantedBy=multi-user.target default.target
43