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. A StorageClass with allowVolumeExpansion: true is recommended to allow resizing volumes without reprovisioning.
  • 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.

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. Create a values.yaml file with the following content:

    image:
    # Required: pin to a release tag (e.g. v1.99)
    # Find the latest version: https://github.com/appsmithorg/appsmith/releases/latest
    tag: <APPSMITH_VERSION>

    mongodb:
    enabled: false

    mongodbCommunity:
    enabled: true

    mongodbOperator:
    enabled: true

    ingress:
    enabled: true
    # Required: set to match your Ingress controller (e.g. traefik, alb, nginx)
    # List available controllers: kubectl get ingressclass
    className: <INGRESS_CLASS>
    hosts:
    - host: appsmith.example.com

    Replace the placeholder values before installing:

    • <APPSMITH_VERSION>—the release tag from the GitHub releases page.
    • <INGRESS_CLASS>—the name of your cluster's IngressClass. Run kubectl get ingressclass to see available options.
    • appsmith.example.com—your domain.

    The MongoDB values configure the chart to use the MongoDB Kubernetes Operator instead of the legacy Bitnami MongoDB subchart. For TLS configuration, see Ingress and TLS. For the full list of configurable values, see the chart README.

  3. Deploy Appsmith:

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

    kubectl get pods -n appsmith-ee

    Proceed once all pods show Running.

  5. Verify the Ingress has been assigned an address by your controller:

    kubectl get ingress -n appsmith-ee

    The ADDRESS column should show a hostname or IP. If it's empty, your Ingress controller isn't claiming the resource—check that className in your values.yaml matches your controller.

  6. If your DNS is already pointing to the Ingress address, open https://appsmith.example.com. Otherwise, use port-forward to verify the installation locally:

    kubectl -n appsmith-ee port-forward svc/appsmith-ee 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