Skip to main content

Expose K8s to Internet

The page provides steps to expose your Appsmith Kubernetes installation to the internet.


  1. A self-hosted Appsmith installation on a Kubernetes cluster. If not installed yet, see the Kubernetes installation guide for installing Appsmith.
  2. A running Kubernetes cluster with at least one node.

Before you begin

  1. Install NGINX Ingress controller on your Kubernetes cluster. If not installed yet, follow these steps:

a. Add ingress chart repository with:

helm repo add ingress-nginx

b. Load ingress chart repository with:

helm repo update

c. Deploy ingress with:

helm upgrade --namespace ingress-nginx -i ingress-nginx ingress-nginx/ingress-nginx --create-namespace --version 4.4.0

d. Verify ingress installation with:

kubectl get pods -n ingress-nginx

Configure instance

  1. Go to the Appsmith installation directory, open values.yaml file, and update the ingress attribute as shown below:
## @param ingress.enabled Enable ingress record generation for Ghost
enabled: true
annotations: "true" "15"
## @param ingress.annotations Additional custom annotations for the ingress record
## NOTE: If `ingress.certManager=true`, annotation ` "true"` will automatically be added
className: nginx
- path: "/"
pathType: Prefix
## @param service.type Kubernetes Service type
type: ClusterIP
  1. Run the below command once the parameter values are updated:

    helm upgrade -i appsmith appsmith/appsmith --f values.yaml
  2. It takes a few minutes for the ingress to get a public IP assigned. Once it has been assigned, you should see an IPv4 address or a domain name in the ADDRESS column. Run the below command to get this address:

kubectl get ingress -n appsmith


If you face issues, contact the support team using the chat widget at the bottom right of this page.

Further reading