frappe / helm

Helm Chart Repository for Frappe/ERPNext
https://helm.erpnext.com
MIT License
138 stars 120 forks source link

Persist apps in deployment-gunicorn.yaml #175

Closed MohammedNoureldin closed 1 year ago

MohammedNoureldin commented 1 year ago

Enables the persistence of apps and custom

At the moment, if the administrator creates a custom app (or edited the code of an existing app for some reason), the changes will be lost as soon as the container restarts, therefore persisting the apps is important.

MohammedNoureldin commented 1 year ago

Partially related to https://github.com/frappe/helm/issues/174

MohammedNoureldin commented 1 year ago

Hi, @revant

Could you review the changes here please?

MohammedNoureldin commented 1 year ago

One thing I have just found. apps content is part of the image itself, and mounting anything in the same folder will hide the content. In that case, can we somehow fill the apps folder after running the container by the init container for example? Or is there any other approach to persist the changes made anywhere in apps folder? What do you think?

We need to do something to resolve this: https://github.com/frappe/frappe_docker/blob/4a87ecdf9ecf6733c005df3b08d7e247fe3b81e5/images/production/Containerfile#L100-L111

MohammedNoureldin commented 1 year ago

Well apparently we have a fundamental problem with installing/creating apps here.

I tried to create a very simple basic app and install it. Or course, the pod cannot be restarted because the container has no systemd, but I tried to recreate the whole pod (after adding a pvc and mount manually to persist the folder of the app insides apps). I was able to install the app, but when trying to call ERPNext in the browser, it does not work and I see in the logs that:

ModuleNotFoundError: No module named ''

Something should be done in this regard. Am I missing something?

revant commented 1 year ago

Please fork the helm chart and then make the app code mutable in your fork.

MohammedNoureldin commented 1 year ago

Thank you. Then https://github.com/frappe/helm/pull/176 can also be closed, if forking the image is the solution. I will give it a try.

MohammedNoureldin commented 1 year ago

Thanks a lot again for the link, @revant! It helped me a lot to understand how everything here works and I implemented group to role mapping for OIDC custom providers (like Keycloak), in addition to default role functionality.

I will post it here, maybe it will help somebody.

https://github.com/MohammedNoureldin/oidc_extended

jammeska commented 3 weeks ago

@revant I fork helm chart but still have same issue.