Domain Routing in ERPNext - Kubernetes

Dear Developers,

Sir @revant_one

I am trying to add domain to my Erpnext site in Kubernetes but having some issues.

I am able to access using domain but through nodeport,

for eg,

but I want to directly access without nodeport.

Here is all running services,


I’m using this ingress code,

kind: Ingress
name: test1-ingress
namespace: default
annotations: “letsencrypt-prod” nginx


  • host:
    • path: “/”
      pathType: Prefix
      name: erpnext-erpnext
      number: 80

Looking for guidance,

Thanks & Regards

no need for ERPNext service to be of type loadbalancer. let it be clusterip.

let only the ingress controller be the loadbalancer.

to add a site, run the site creation job and add ingress

also change the secret name

secretName: letsencrypt-prod

to secretName: domain-example-com-tls

Thank You sir, I will try this way

Sir, I tried the following

I patched erpnext-erpnext from LoadBalancer to ClusterIP

Eg. erpnext-erpnext ClusterIP x.x.x.x 80/TCP

Changed, secretName to domain-example-com-tls

Describe Ingress CMD shows:

cert-manager Successfully created Certificate “domain-com-tls”
nginx-ingress-controller Scheduled for sync


default-http-backend:80 (<error: endpoints “default-http-backend” not found>)


it should be erpnext-erpnext:80

what version of kubernetes are you using?

check version specific changes to ingress.

can you check if any ingress is created?

erpnext-erpnext:80 not found error popup if i add ingress in different namespace then the default where erpnext is installed.

Kubernetes version: 1.22.3

Site Ingress gets created, If I describe the ingress using - kubectl describe ingress —

log shows this error:

default-http-backend:80 (<error: endpoints “default-http-backend” not found>)

Maybe this error is coming when ingress is not able to find service/port correctly.

can you share the current yaml for Ingress

kubectl get ingress ingressname -o yaml

Thank you for your time,

There was an issue with the NGINX Setup,
Now its working I used the NGINX Configuration file for Bare-Metal Server.

@revant_one I have a similar issue in google cloud, and the problemas is that the ingress is not showing the files


No assets loaded…

GET https net::ERR_ABORTED 404
  • ingress.yaml file

    apiVersion: extensions/v1beta1
    kind: Ingress
    # Optional Labels
    labels: frappe-bench-0001-erpnext
    namespace: erpnext
    # required for cert-manager letsencrypt letsencrypt-prod
    # other annotations as needed, e.g timestamp nginx “true”
    - host:
    - backend:
    serviceName: frappe-bench-0001-erpnext
    servicePort: 8000
    path: /
    - hosts:
    secretName: frappe-bench-0001-erpnext-tls

All sites and components are running withany issue.

— Note
I added underscores to avoid link detection (ex: _nginx.)


use 8080. On 8080 it uses nginx reverse proxies + assets.
on 8000 it just serves gunicorn

Also use the latest ingress apiVersion: instead of apiVersion: extensions/v1beta1 on newer clusters.

I tried, but it didnt work… Bu already setup cluster on docker swarm (also I found the issue in docker swarm)

If you can give me access to your cluster or swarm I can check.

All my ERPNext setups on swarms and clusters are running as expected on AWS, scaleway, digitalocean, local ISP.

hello @revant_one, is working good in docker swarm but I could not install a custom app that is a theme.

Can you help me? I can give you access to it.

I generally show people a diff of working images:

  1. Comparing main...isppme · castlecraft/custom_frappe_docker · GitHub
  2. Comparing main...agriculture · castlecraft/custom_frappe_docker · GitHub

If you share the app url with me, I’ll share the diff.

Thanks so much, I got it and I could make it.

You awesome.

Now I am buildig and image to install custom apps easily and share it.