# Is AppImage suitable for a multi-service web-application like ERPNext?

**URL:** <https://discourse.appimage.org/t/is-appimage-suitable-for-a-multi-service-web-application-like-erpnext/1497>\
**Category:** Creating AppImages\
**Created:** [November 20, 2019, 8:02am UTC](https://discourse.appimage.org/t/is-appimage-suitable-for-a-multi-service-web-application-like-erpnext/1497 "2019-11-20T08:02:03Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![vrms](https://avatars.discourse-cdn.com/v4/letter/v/c37758/32.png) [@vrms](https://discourse.appimage.org/u/vrms)\
**Post date:** [November 20, 2019, 8:02am UTC](https://discourse.appimage.org/t/is-appimage-suitable-for-a-multi-service-web-application-like-erpnext/1497/1 "2019-11-20T08:02:03Z")

</div>

I am a member of the ERPNext Community and am wondering whether it was suitable to be distributed as an AppImage.

[ERPNext](http://github.com/frappe/erpnext) is an Open Source ERP suite build on the frappe framework. It’s written mainly in python utilizes mariadb, nginx, supervisor and a bunch of other components functions as a server whiich provides a user interface via webbrowser.

Installation of such a complex thing comes with quite some hassle and I was wondering if such an architecture is suitable for the AppImage format in general. If so I might take on the task to get this on the road sometime

I myself am not a developer whatsoever and have some but not very in depth knowledge in Linux Administration. I ran an AppImage here and there but have no in depth understanding of it’s internal mechanics.

---

<div class="post-metadata">

**Author:** ![probono](https://yyz1.discourse-cdn.com/flex027/user_avatar/discourse.appimage.org/probono/32/81_2.png) [@probono](https://discourse.appimage.org/u/probono)\
**Post date:** [November 29, 2019, 9:30pm UTC](https://discourse.appimage.org/t/is-appimage-suitable-for-a-multi-service-web-application-like-erpnext/1497/2 "2019-11-29T21:30:43Z")

</div>

Yes, I think it would be suitable. Rather complex Python based applications such as [Ultimaker Cura](https://ultimaker.com/software/ultimaker-cura) are distributed as AppImages, which makes running them on various Linux distributions rather easy.

---

<div class="post-metadata">

**Author:** ![vrms](https://avatars.discourse-cdn.com/v4/letter/v/c37758/32.png) [@vrms](https://discourse.appimage.org/u/vrms)\
**Post date:** [November 30, 2019, 6:56am UTC](https://discourse.appimage.org/t/is-appimage-suitable-for-a-multi-service-web-application-like-erpnext/1497/3 "2019-11-30T06:56:19Z")

</div>

thanks for the feedback. Looking into this just a little bit more I notice that once an AppImage is runnning it is mounted into a temporary location (which changes each time you run the Image) as a read-only filesystem.

Now if you have a database as acentral part of any web-aplication, such as ERPNext is, you constantly create new data (so you need a r/w filesystem) and of course you need the data to be available again the next time you may run the Image. Also you need to preserve the data created by the Application.

Also you need to be able run cli commands within the ERPNext filesystem at times in order to maintain the system.

So the question now would be whether such a scenario can be handled by the AppImage format?

---

<div class="post-metadata">

**Author:** ![probono](https://yyz1.discourse-cdn.com/flex027/user_avatar/discourse.appimage.org/probono/32/81_2.png) [@probono](https://discourse.appimage.org/u/probono)\
**Post date:** [November 30, 2019, 2:08pm UTC](https://discourse.appimage.org/t/is-appimage-suitable-for-a-multi-service-web-application-like-erpnext/1497/4 "2019-11-30T14:08:19Z")

</div>

> [@vrms](#):
>
> Now if you have a database as acentral part of any web-aplication, such as ERPNext is, you constantly create new data (so you need a r/w filesystem) and of course you need the data to be available again the next time you may run the Image. Also you need to preserve the data created by the Application.

Sure, just write the data outside of the AppImage, e.g., somewhere in `$HOME` or another path supplied by the user.

Applications installed in `/usr` or `/opt` also cannot write there, so this is quite normal.

> [@vrms](#):
>
> Also you need to be able run cli commands within the ERPNext filesystem at times in order to maintain the system.

You could either ship them as separate AppImages, or use something like this:

> <https://gitlab.com/inkscape/inkscape/blob/f9dd5ab2c43241c754efcb64ffdf21700163337c/packaging/appimage/AppRun#L8-29>
