Kubernetes

Deploy NocoDB on Kubernetes with the official Helm chart for production, high-availability setups.

The official Helm chart deploys NocoDB for production on Kubernetes against your own managed PostgreSQL and Redis. It ships no databases of its own, and object storage for attachments is configured from the NocoDB admin panel after install.

When to use Helm

Use Helm when you run more than one NocoDB replica, need high availability, or already operate on Kubernetes. For a single machine, the single-server install is simpler.

The chart runs on any CNCF-conformant Kubernetes cluster, including managed offerings (Amazon EKS, Google GKE, Azure AKS) and self-managed or lightweight distributions (k3s, RKE2, OpenShift). It does not apply to non-Kubernetes container platforms such as AWS ECS/Fargate or Google Cloud Run; for those, use a Docker-based installation method instead.

Architecture

NocoDB runs as two workloads from one image:

  • App (Deployment) serves the HTTP API and WebSocket traffic on port 8080. It scales horizontally; WebSocket events fan out across replicas through Redis, so no sticky sessions are required.
  • Worker (Deployment, optional but recommended) runs background jobs (imports, thumbnails, migrations) with NC_WORKER_CONTAINER=true. App pods enqueue; worker pods process.

Both connect to external PostgreSQL (metadata) and Redis (cache, job queue, WebSocket fan-out). Attachments live in S3-compatible object storage, which you configure from the NocoDB admin panel after install (not through the chart).

In a multi-replica deployment, external Redis keeps state shared across pods and S3-compatible storage holds attachments, so every replica serves the same data.

High availability at a glance

ComponentScalesNotes
AppMin 2 recommendedAutoscaling recommended
WorkerMin 2 recommendedFixed replicas; runs background jobs
PostgreSQLExternalYour managed database; holds all your data
RedisExternalShared key-value store and pub/sub
S3ExternalObject storage for file attachments

Prerequisites

  • Kubernetes 1.23+ and Helm 3.8+
  • Managed PostgreSQL and Redis (and an S3-compatible bucket for attachments, connected in-app after install)
  • Nodes that can schedule 1 vCPU and 2 GiB memory per app and worker pod (1 GiB memory minimum)
  • An ingress controller (and optionally cert-manager for TLS)

Continue to Install.