stale-psychiatrist-58431
07/23/2025, 11:04 AMtall-airline-16756
07/23/2025, 11:04 AMtall-airline-16756
07/23/2025, 11:05 AMterminationGracePeriodSeconds to 5 hours in your Helm chart to allow pods to shut down gracefully.
• Firewall: Ensure your firewall allows traffic to the required LiveKit ports.
The official Helm chart can be used as a guide for your k3s deployment. Example Kubernetes manifests are available and can be adapted for k3s clusters.
As long as your k3s cluster is not behind additional NAT layers and meets the above requirements, it is suitable for LiveKit deployment.
Sources: Deploy to Kubernetes | LiveKit Docs | livekit-server/values.yaml | kubernetes/README.mdstale-psychiatrist-58431
07/23/2025, 11:08 AMtall-airline-16756
07/23/2025, 11:10 AMcaddy.yaml, docker-compose.yaml, livekit.yaml, and some helpful deployment scripts.
2. Deploy using Docker Compose and Caddy as outlined in the generated files.
3. Pro tip: For automated setup, you can use the generated cloud-init file in Hetzner's "User data" field when creating a new cloud instance.
If you're planning a production environment, I recommend using compute-optimized instances, 10Gbps ethernet or faster, and host networking to get the best performance.
These steps follow the official deployment recommendations and are totally compatible with Hetzner's infrastructure. You've got this!
Sources: Deploying LiveKit | LiveKit Docs | Deploying LiveKit | LiveKit Docs | deploy/README.md | Voice Assistants | livekit/livekit_composite | DeepWiki | Deploy to a VM | LiveKit Docsstale-psychiatrist-58431
07/23/2025, 11:11 AMtall-airline-16756
07/23/2025, 11:14 AMvalues.yaml file using the sample template as your guide.
3. Import your SSL certificates as Kubernetes secrets: kubectl create secret tls <name> --cert <cert-file> --key <key-file> --namespace <namespace>
4. Time to install LiveKit using Helm with your custom configuration and namespace.
5. Pro tip: Make sure host networking is on for LiveKit pods. Remember, only one LiveKit pod can run per node because of port requirements.
6. Set terminationGracePeriodSeconds to 5 hours in your Helm chart for smooth, graceful shutdowns.
These steps follow the official deployment recommendations and work great for k3s clusters on Hetzner. No special Hetzner limitations to worry about - just make sure your cluster isn't behind extra NAT layers and all those ports are open and ready to go!
Sources: Deploy to Kubernetes | LiveKit Docs | server-sample.yaml | Deploying to production | LiveKit Docs | kubernetes/README.md | Kubernetes & Helm Charts | livekit/livekit_composite | DeepWiki