This repository contains Helm charts for self-hosted Agora services.
Add the Agora helm repository:
helm repo add agora https://helm.agora.build
helm repo update- If you want to deploy and use the chart → see Chart User Docs below.
- If you want to modify, package, and publish the chart → see Chart Developer Docs below.
| Chart | Description | Version |
|---|---|---|
| rtc-egress | Real-time egress (recording, snapshots, web recording, upload, webhooks) | see Chart.yaml |
# Create the secret for private registry (if needed)
# Delete with: kubectl -n myrtc-egress delete secret ghcr-secret
kubectl create secret docker-registry ghcr-secret \
--docker-server=ghcr.io \
--docker-username=YOUR_GITHUB_USERNAME \
--docker-password=YOUR_GITHUB_TOKEN \
--namespace myrtc-egressWith custom values:
helm install my-rtc-egress agora/rtc-egress -f my-values.yamlFull values.yaml:
# Add when installing from a private registry:
# --set 'global.imagePullSecrets[0].name=ghcr-secret'
helm install my-rtc-egress agora/rtc-egress \
--namespace myrtc-egress \
--set-string agora.appId="$AGORA_APP_ID" \
--set redis.external.enabled=true \
--set-string redis.external.host="$REDIS_HOST" \
--set-string redis.external.port="$REDIS_PORT" \
--set s3.enabled=true \
--set-string s3.bucket="$S3_BUCKET" \
--set-string s3.region="$S3_REGION" \
--set-string s3.accessKey="$S3_ACCESS_KEY" \
--set-string s3.secretKey="$S3_SECRET_KEY" \
--set-string s3.endpoint="$S3_ENDPOINT" \
--set-string webhookNotifier.webhook.url="$WEBHOOK_URL" \
--set-string image.tag="$IMAGE_TAG"helm list -n myrtc-egresskubectl get pods -n myrtc-egresskubectl -n myrtc-egress get svc
kubectl describe pod -n myrtc-egress my-rtc-egress-69b7b86d5b-sfzcq
kubectl logs -n myrtc-egress my-rtc-egress-69b7b86d5b-sfzcqIf you want to upgrade the chart:
# See `charts/rtc-egress/README.md` for mandatory parameters, configuration files, and architecture details.
helm upgrade --install my-rtc-egress agora/rtc-egress \
--reuse-values \
--namespace myrtc-egress \
--set-string agora.appId="$AGORA_APP_ID" \
--set redis.external.enabled=true \
--set-string redis.external.host="$REDIS_HOST" \
--set-string redis.external.port="$REDIS_PORT" \
--set s3.enabled=true \
--set-string s3.bucket="$S3_BUCKET" \
--set-string s3.region="$S3_REGION" \
--set-string s3.accessKey="$S3_ACCESS_KEY" \
--set-string s3.secretKey="$S3_SECRET_KEY" \
--set-string s3.endpoint="$S3_ENDPOINT" \
--set-string webhookNotifier.webhook.url="$WEBHOOK_URL" \
--set-string image.tag="$IMAGE_TAG"If you want to uninstall the chart:
helm uninstall my-rtc-egress -n myrtc-egressSee the DEVELOPERS.md for:
- Local development and linting
- Versioning and release to GitHub Pages (https://helm.agora.build)
- How images are tagged and consumed by the chart
- Security/secrets guidance
To enable https://helm.agora.build, see the REPOSITORY-SETUP.md guide for configuring GitHub Pages and Actions.
Please read our contributing guidelines before submitting pull requests.
This project is licensed under the MIT License - see the LICENSE file for details.