feat: Livekit - Selfhost video room solution (#946)

* feat: Livekit bare no recording nor pipeline

* feat: full livekit pipeline

* fix: caddy hatchet with livekit

* fix: caddy livekit

* fix: hatchet tls

* fix: agg to webm for no padding

* fix: reflector user id on participants and duration fix

* fix: better docs and internal review fixes

* fix: remove video files livekit
This commit is contained in:
Juan Diego García
2026-04-07 11:55:16 -05:00
committed by GitHub
parent b570d202dc
commit bc8338fa4f
41 changed files with 3731 additions and 146 deletions

26
egress.yaml.example Normal file
View File

@@ -0,0 +1,26 @@
# LiveKit Egress configuration
# Generated by setup-selfhosted.sh — do not edit manually.
# See: https://docs.livekit.io/self-hosting/egress/
api_key: __LIVEKIT_API_KEY__
api_secret: __LIVEKIT_API_SECRET__
ws_url: ws://livekit-server:7880
redis:
address: redis:6379
# Health check
health_port: 7082
# Logging
log_level: info
# CPU cost limits (Track Egress only — no composite video)
# Track Egress costs 1.0 CPU unit per track; hundreds can run on one instance.
# Default max_cpu_utilization is 0.8 (80% of available cores).
# Session limits
session_limits:
file_output_max_duration: 4h # Max 4 hours per recording
# S3 storage is configured per-request via the API (not here).
# The server passes S3 credentials when starting each Track Egress.