I have deployed Frappe/ERPNext on Kubernetes but cannot see ERPNext apps in it

I have deployed Frappe/ERPNext on Kubernetes using Frappe/ERPNext Helm chart. I am able to access the application on browser. Thanks @revant_one for the help. I made use of the script that you made. Frappe Application is running fine. I have added ERPNext application in it as well by adding “erpnext” in jobs.installApps in values-job-create-mysite.yaml file. How can I add other apps in it. I have tried populating jobs.installApps with the names of Apps. But that hasn’t worked. How can I add other apps as well. @revant_one
I made use of this script.

To add custom apps, you need to build your own custom images based on erpnext-worker and erpnext-nginx images

Custom image documentation: frappe_docker/README.md at main · frappe/frappe_docker · GitHub

Example Repo: castlecraft / CEPL ERPNext Images · GitLab

Once you have built your custom images with tags, override them in values.yaml

For a test purpose, I used the same app that you used in the repo you shared. The images got successfully built. I edited the values.yaml file as well and added my own custom built images and tags in that file. However, nginx, worker, gunicorn, etc pods have not started. Their status shows “ImagePullBackOff” and kubectl describe pod [pod_name] -n erpnext gives the following output in the events.
Failed to pull image “registry.gitlab.com/castlecraft/cepl-erpnext-images/nginx:v14.0.3”: rpc error: code = NotFound desc = failed to pull and unpack image “registry.gitlab.com/castlecraft/cepl-erpnext-images/nginx:v14.0.3”: failed to resolve reference “registry.gitlab.com/castlecraft/cepl-erpnext-images/nginx:v14.0.3”: registry.gitlab.com/castlecraft/cepl-erpnext-images/nginx:v14.0.3: not found

it is just 14.0.3 not v14.0.3. Remove the v

Thanks. This was the actual issue. The pods are up and running. However, I am unable to access the erpnext app. On my browser, when I access the app, it gives 404 Not found error.
I am able to see the logs of these requests in my nginx pod as well

I guess the issue is with the site creation. In my gunicorn pod, I can’t see the site that I created. However, the job is successfully completed and the pod is active.

share job yaml, make sure you are running the job with correct pvc mounted.

I’m using the same images on my cluster.

Thanks for the help @revant_one . I put a wrong path to the yaml file while creating the site. That’s why the site was not showing anything.

Hi @revant_one . I successfully built India_compliance app that you installed in the example repo. Everything went fine. I was able to see the app in my gunicorn pod and after installing it I was able to use it in my Frappe/ERPNext app as well. I did everything as it is in another VM. I wanted to install hrms and posawesome apps there. I edited ci/clone-apps.sh file. In the repos directory, hrms and posawesome folders were installed. I also edited the backend.Dockerfile. And after making all the changes I built the image again. I added that image in values.yaml file and then installed frappe/erpnext by means of helm install. Everything went fine. THE ISSUE I AM FACING IS THAT WHEN I WENT INSIDE MY gunicorn POD TO INSTALL hrms and posawesome apps, I WAS NOT ABLE TO SEE THOSE APPS IN apps.txt file. Instead, there was India_compliance app showing over there. What can be the issue?
image

Kubernetes will not pull images with same tags again unless you change the image pull policy to Always in values.

More about image pull policy: Images | Kubernetes

Even if I am setting this up for the first time on a different system?

run the configure bench job again

Hello @revant_one,
I have deployed Frappe/ERPNext on Kubernetes using Frappe/ERPNext Helm chart but I am not able to access the application on the browser. I already edited the host on values-job-create-mysite.yaml and values-ingress-mysite.yaml file, however, when the installation finished and i browse the site, i got the screenshot below. What could be the problem please

can you describe the setup?

have you added ingress controller and ingress?

Ok

  1. I created a VM(ubuntu)
  2. I installed these dependencies i. Install Docker ii. Install kubectl iii. Install helm
  3. I installed install K3s from K3d.
  4. I cloned this repo GitHub - frappe/helm: Helm Chart Repository for Frappe/ERPNext
  5. from the root folder of this repo, I run this command, “./tests/script.sh”
  6. Before executing the script, I changed the site name and ingress host to my domain name record I created on D-ocean, after running the script, below are my screenshots

The problem now is when i tried to brouse the hostname on browser, it does not open the erpnext page.

Kindly help on how to troubleshoot. Thanks

the screenshot of browser you’ve shared seems to be some other web server. it’s not the ingress controller.

check if any web server like Apache, nginx, httpd are running already? try stopping it if it exists.

Hello @revant_one, thank you for your help thus far, I have been able to deploy erpnext successfully on my k3 cluster successfully. But i have an issue, I want to create new sites with the following urls for different environment

check this to add sites helm/README.md at main · frappe/helm · GitHub

To have different environments with different apps, you make need different helm releases / “benches”.

Hi @revant_one, thank you for your help thus far. I have successfully deployed erpnext on my DigitalOcean Kubernetes cluster, I was also able to build my custom-apps successfully using using frappe_docker/README.md at main · frappe/frappe_docker · GitHub .

My question now is,

  1. how do i get the custom app deployed on my erpnext deployed on kubernetes so that i can access the app on the erpnext sites?
  2. After successfully building the app, how does the image url look like and what exactly am I suppose to change in values.yaml to override it and what command do I run after to install the apps?

Kindly help