Skip to content

Prerequisites (Advanced Deployment)

The advanced deployment uses Kubernetes and Helm — the same method used by DINUM in production for Visio. This guide assumes familiarity with Kubernetes.

When to use this guide

Use the Kubernetes deployment if you need:

  • High availability — multiple replicas with automatic failover
  • Horizontal scaling — scale backend and frontend independently
  • Production-grade recording/transcription — with Egress and the Summary service
  • Multi-region or multi-zone deployments
  • GitOps workflows — declarative infrastructure management

For smaller deployments, the Docker Compose guide is sufficient.

Required tools

Install the following on your workstation:

kubectl

# Linux
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
sudo install kubectl /usr/local/bin/kubectl
kubectl version --client

Helm

curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash
helm version
# Via brew (macOS/Linux)
brew install helmfile

# Or download binary
# https://github.com/helmfile/helmfile/releases
helmfile --version

Tilt (for local development only)

curl -fsSL https://raw.githubusercontent.com/tilt-dev/tilt/master/scripts/install.sh | bash
tilt version

Kubernetes cluster requirements

Minimum cluster specs

Resource Minimum Production
Nodes 2 3+
CPU per node 2 cores 4+ cores
RAM per node 4 GB 8+ GB
Kubernetes version 1.27+ Latest stable

Required cluster features

  • Ingress controller: nginx-ingress or Traefik
  • cert-manager: For automatic TLS certificate management
  • PersistentVolume provisioner: For PostgreSQL and Garage storage
  • LoadBalancer or NodePort: For LiveKit's UDP port (7882)

Managed Kubernetes options

The Meet Helm chart works on any standard Kubernetes cluster:

Provider Notes
OVH Managed Kubernetes Used by some Meet community instances
Scaleway Kapsule
AWS EKS
GKE (Google Kubernetes Engine)
Azure AKS
On-premise (kubeadm, k3s)

For production, use managed services instead of running databases in Kubernetes:

Service Managed option
PostgreSQL Managed DB (OVH DBaaS, RDS, Cloud SQL, etc.)
Redis Managed Redis (ElastiCache, Upstash, etc.)
Object storage S3 (AWS), Scaleway Object Storage, OVH Object Storage

Network requirements

LiveKit's UDP port must be accessible from the public internet. Options:

  1. NodePort service — expose UDP 7882 directly on a node IP
  2. LoadBalancer service — requires a cloud load balancer supporting UDP
  3. Dedicated LiveKit node — a separate VM running LiveKit outside Kubernetes

See LiveKit in the Helm chart for details.

Summary checklist

  • kubectl installed and configured for your cluster
  • Helm 3.x installed
  • Kubernetes cluster 1.27+ running
  • Ingress controller deployed (nginx-ingress recommended)
  • cert-manager deployed with a ClusterIssuer configured
  • PostgreSQL reachable (managed or in-cluster)
  • Redis reachable (managed or in-cluster)
  • S3-compatible object storage available
  • OIDC provider configured
  • Domain name with DNS pointing to your ingress
  • UDP port 7882 accessible (for LiveKit media)