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
StorageClasscapable of provisioning persistent volumes. A StorageClass withallowVolumeExpansion: trueis 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.comfor 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+ (Helm 4 is also supported)—the Helm package manager.
kubectl—configured to connect to your cluster.
Install Appsmith
Follow these steps to install Appsmith:
-
Add the Appsmith chart repository:
helm repo add appsmith-ee https://helm-ee.appsmith.com
helm repo update -
Create a
values.yamlfile 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.comReplace the placeholder values before installing:
<APPSMITH_VERSION>—the release tag from the GitHub releases page.<INGRESS_CLASS>—the name of your cluster's IngressClass. Runkubectl get ingressclassto 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.
-
Deploy Appsmith:
helm install appsmith-ee appsmith-ee/appsmith \
-n appsmith-ee --create-namespace \
-f values.yaml -
Wait for the pods to be ready:
kubectl get pods -n appsmith-eeProceed once all pods show
Running. -
Verify the Ingress has been assigned an address by your controller:
kubectl get ingress -n appsmith-eeThe
ADDRESScolumn should show a hostname or IP. If it's empty, your Ingress controller isn't claiming the resource—check thatclassNamein yourvalues.yamlmatches your controller. -
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:80Open http://localhost:8080 and wait for the server to come up. This can take up to 5 minutes.
-
Fill in your details to create an administrator account.
-
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.
Set up TLS certificates for your Appsmith ingress using cert-manager or your own certificates.
Deployment planning, database options, and chart configuration reference.
Configure multiple replicas and shared storage for high availability.
Enable SSO to allow users to log in using your identity provider.
Set up an email service to enable notifications and alerts.
Learn how to remove Appsmith resources from your cluster and start fresh.
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
- Manage Installation: Learn how to manage your Appsmith instance.
- Upgrade Installation Guides: Learn how to upgrade your Appsmith installation.