creamy-beach-49776
08/19/2025, 9:00 AMtall-airline-16756
08/19/2025, 9:00 AMtall-airline-16756
08/19/2025, 9:01 AM# Required fields
api_key: livekit server api key
api_secret: livekit server api secret
ws_url: livekit server websocket url
redis:
address: must be the same redis address used by your livekit server
username: redis username
password: redis password
db: redis db
Optional Configuration Fields:
# Optional fields
health_port: port for health checks
template_port: port for default templates
prometheus_port: port for metrics
logging:
level: debug, info, warn, or error
json: true
Storage Configuration:
You can set up where your files get uploaded, like S3, Azure, or Google Cloud Storage. For example, here’s how you’d configure S3:
storage:
s3:
access_key: AWS_ACCESS_KEY_ID
secret: AWS_SECRET_ACCESS_KEY
region: AWS_DEFAULT_REGION
bucket: bucket to upload files to
Deployment Methods:
• Environment Variables: You can pass the config file using EGRESS_CONFIG_FILE
or EGRESS_CONFIG_BODY
.
• Docker: Remember to add the --cap-add=SYS_ADMIN
flag for Chrome sandboxing.
• Helm: If you’re using Kubernetes, configure the service through Helm values.
For the best experience, it’s great to have each Egress instance running with at least 4 CPUs and 4 GB of memory. If you have any questions or want me to walk you through any part, just let me know—I’m here to help!
Sources: pkg/config/base.go | Self-hosting the Egress Service | LiveKit Docs | egress/values.yaml