Apps - alternative location to /home/frappe/frappe-bench/apps possible?

if you install a New App (bench get-app [app_name] app_url) you get a git folder in /home/frappe/frappe-bench/apps

after installing erpnext from with the default easy installation script you have 2 Apps that exist there. frappe & erpnext

now my question is whether it is possible to get newly installed Apps to be stored somewhere else and maybe having a symlink located in the default location pointing to that alternative location

I am asking because I am setting up a docer environment and I want to achieve that all additional data (as additional Apps) are being stored somewhere apart

I think that even if the apps are stored elsewhere and symlinked, if you use the frappe CRUD methods in that site you’ll end up with that data stored in the same database.

What’s the use for having data for the same site stored in different places? (out of curiosity)

I am not concerned about data to be stored in the same database. One site/One database is completly fine.

As mentioned I want to run in a docker container. The image I am running from contains the basic installation.

The database is stored in datacontainer mounted to the ERPNext container. So this is pretty mobile in regards to this. One could kill the ERPNext container and attach the datacontainer to a new one (after having rebuilt my image with an updated ERPNext i.e.) … just in such a case I’d loose the aditional Apps because they are gone with the old container.

Odoo for example has a config file where you can list all locations where it looks for Apps. If there was anything alike in ERPNext that would be ideal for my scenario

Can anyone advise at this?

Questions was whether it’s possible to configure ERPNext/frappe in a way that new apps can live in a different location then /home/frappe/frappe-bench/apps ?

@vrms as of now, this is not possible it needs to be in your bench/apps folder.

We would be happy to accept a PR if you want to make it configurable.

I definitely want … and I think it should be configurable. I think it would ad much more flexibility to things. My curent use case is a docker environment where the base installation is non-persistant and only user data (db, logs, added apps) persists outside of the container

My coding skills are limited to hello world I m afraid though. Can you kindly point me where to find the reference to bench/apps in the code? I’d take a look at it nevertheless.

Its best you engage a freelancer then to help you out.

let’s assume someone who actually can code might be reading this

any way to get a hint where to start looking? I guess it might be bench which needs to made configurable?

It’s not as obvious as searching for the string /frappe-bench/apps in the github repository though.