Skip to main content

Kubernetes (k8s)

This page provides steps to install Appsmith on a Kubernetes cluster using the Helm package manager. The default installation runs a single replica and is a good starting point for getting Appsmith running. If you need high availability with multiple replicas, review the deployment planning guide before installing—some decisions require a migration to change later.

Requirements

Kubernetes cluster

  • A running Kubernetes cluster (1.33+).
  • Appsmith application pods need at least 6 GB of memory and benefit from 2 vCPUs. MongoDB, Redis, PostgreSQL, and other chart dependencies consume additional resources, and the cluster itself has overhead for system components (kube-proxy, monitoring agents, ingress controllers, etc.). Plan for a minimum of 2 nodes with 2 vCPUs and 8 GB of memory each.
  • A default StorageClass capable of provisioning persistent volumes. Most managed Kubernetes services (EKS, GKE, AKS) provide this out of the box.
  • An Ingress controller (such as Traefik or an AWS/GCP load balancer controller) or a LoadBalancer-type Service to expose Appsmith to users.
  • Outbound network access to cs.appsmith.com for license validation and updates.

If you are setting up a new cluster on AWS, see Set up Kubernetes cluster on AWS-EKS.

Client machine

  • Helm 3.14+—the Helm package manager.
  • kubectl—configured to connect to your cluster.

Install Appsmith

Follow these steps to install Appsmith:

  1. Add the Appsmith chart repository:

    helm repo add appsmith-ee https://helm-ee.appsmith.com
    helm repo update
  2. Look up the latest Appsmith release version:

    APPSMITH_VERSION=$(curl -s https://api.github.com/repos/appsmithorg/appsmith/releases/latest | jq -r '.tag_name')
    echo $APPSMITH_VERSION
  3. Create a values.yaml file with the following content:

    image:
    tag: # paste the version from step 2 (e.g. v1.99)

    mongodb:
    enabled: false

    mongodbCommunity:
    enabled: true

    mongodbOperator:
    enabled: true

    ingress:
    enabled: true
    className: "" # leave blank for the cluster default, or set to your controller (e.g. traefik, alb)
    hosts:
    - host: appsmith.example.com

    Replace appsmith.example.com with your domain and set className to match your Ingress controller. This configures the chart to use the MongoDB Kubernetes Operator instead of the legacy Bitnami MongoDB subchart. For TLS configuration, see Configure TLS.

  4. Deploy Appsmith:

    helm install appsmith-ee appsmith-ee/appsmith \
    -n appsmith-ee --create-namespace \
    -f values.yaml
  5. Wait for the pods to be ready:

    kubectl get pods -n appsmith-ee

    Proceed once all pods show Running.

  6. If your ingress and DNS are already configured, open https://appsmith.example.com. Otherwise, use port-forward to verify the installation locally:

    kubectl -n appsmith-ee port-forward appsmith-ee-0 8080:80

    Open http://localhost:8080 and wait for the server to come up. This can take up to 5 minutes.

  7. Fill in your details to create an administrator account.

  8. Once you've created an account, you can either start with the free plan or activate your instance with a license key. If you want to generate a license key, sign up on customer.appsmith.com to create one, and then proceed to activate your instance using the newly generated license key.

Next steps

Appsmith is running and accessible via your ingress. Explore other guides below to secure and customize your deployment.

Troubleshooting

If you are facing issues during deployment, refer to the guide on troubleshooting deployment errors. If you continue to face issues, contact the support team using the chat widget at the bottom right of this page.

See also