Custom apps on ERPNext Kubernetes


Which is the updated guide for deploying my own custom app in the Kubernetes environment? I am able to deploy the full ERPNEXT in my Kubernetes nodes. However, I have a few apps that I customized for ERPNEXT that I want to deploy them to the new Kubernetes ERPNEXT. Previously I can just use the bench get-app, and the bench install-app command.

I have been checking on the forum as well as the documents at github but I am still not clear how I can do that. Can somebody guide me to the right path?

Thank you very much!

@revant_one i’m facing the same issue, with custom app and other popular apps like posawesome, should i first containerized the app, the option to create new site contains the “installApps” this option doesn’t accept github link like bench adding apps. should it be docker image instead.

or should it be included with erpnext image then containerized all to update the cluster.

if there is a simple way to add custom apps like “bench” or similar its would be highly appreciated sharing it with us.

thanks in advanced.

official documentation to build custom apps is here frappe_docker/ at main · frappe/frappe_docker · GitHub

here is a example repo with GitHub actions or Gitlab runner configuration GitHub - castlecraft/custom_frappe_docker

Thanks for the reply and for your time.

But still after i build my custom image how to deploy it in erpnext kubernetes environment.

Change values.yaml or set it as cli param for helm. refer: FAQ | ERPNext Helm Chart

Good day Revant,

after some tweaks we could work around for the clustering to work, but the apps were not installed correctly, below some screenshots to explain.

Screenshot from 2022-08-04 15-13-53

but when I exce into gunicorn pod and check the apps folder the apps are there

erpnext-gunicorn-6b7fc69b6-bskzw:~/frappe-bench/apps$ ls
erpnext  frappe  posawesome  wiki

I changed the values.yaml to disable the create site and enable migrate site but after upgrading with helm the result is the same.

any help is highly appreciated.

thanks in advanced for your time

Did you install the apps on the site? e.g. bench --site {site_name} install-app posawesome

you can add the all apps to apps.txt by executing from “sites” directory : ls -1 ../apps > apps.txt.

@revant_one - do you have any thoughts on the feasibility of avoiding any sort of site creation activities after deployment - i.e, to say we make the worker image with the site pre-created. Thus making the deployment 100% stateless and no jobs are required to run

That cannot happen, The new-site command creates db, generates schema, populates some data.

What about multi sites? Such image will make multi-site complicated.

You can create a custom image from scratch that serves your purpose and override it in values. Use to create the first site if it doesn’t exist.

Sounds good - thanks a lot for your response.