ERPNext - cost-effective ERP solution
-
Wow, this app wishlist post started at 2018…
-
@plusone-nick I'm hoping the Cloudron team will support to include this formally in Cloudron soon. There might be some hindrances, but I think it should work relatively fine now, right?
-
I was able to successfully build and run the package nj published on github for the last couple of months.
It seems to work fine, though I have not had a chance to evaluate how the upgrade and backup/restore process goes (I still have concerns about how it would interact with cloudron long-term), and I've only just started setup for a few modules.
From my (limited) experience, if you want to use ERPNext, be prepared for an extended commissioning phase. The product is both wide and deep, you will be taking considerable time to learn the ERPNext system and configuring it to work with your business process. ERPNext is moderately opinionated on how things should work, an approach I generally appreciate, but I found integration to be a big task as it pushed me to shift my expectation on how things should be organized to the "ERPNext-way". To be fair, this could be as much my ignorance of ERP systems in general as ERPNext's particular obtuseness, but I suspect the truth is that any large integrated bookkeeping system will exhibit similar commissioning/integration difficulties by the very nature of its size and scope.
I don't mean to push anyone away from the product, just to lay out realistic expectations of how much effort it will take on your part to integrate a product of this scope into your business.
-
I have published an update for ERPNext on Github - cloudron-erpnext-v0.20.0 This version is stable, but has breaking changes from the first release, so instead of updating you'll need to export and re-import the documents manually. This won't be necessary from future updates.
- Built on the base image version 4.0 (Ubuntu 22.04), so the source code is much lesser and simpler.
- Uses Cloudron's redis service, as requested by one of the members.
- The webserver and supervisor run as a normal (non-root) user so it's a bit more secure
- Existing apps (frappe, erpnext) etc can be updated easily from the terminal. There will be no need to update this app anymore from this point onward.
- New apps (like hrms, frappedesk) can also be added or removed easily.
- LDAP Settings can be configured if needed using the included script.
- There's preliminary support for multi-site setup.
I request someone to test this package and give some feedback. Thank you.
If building the app sounds complex, you can simply use the existing package by running
cloudron install --image njsubedi/cloudron-erpnext:20230104-200417-70210de70 -l erp.your-domain.tld
Note: the latest image can be found at https://hub.docker.com/r/njsubedi/cloudron-erpnext/tags . Replace
20230104-200417-70210de70
with the latest tag. -
@jdaviescoates I doubt that because of a few reasons.
-
ERPNext cannot use the MySQL addon because it needs MariaDB and needs to have exact same name for database username and the database name (eg. db_name and db_username must be same),
-
ERPNext cannot use the Postgrest addon because it needs access to the database root user's password, which seems impossible to grant. There might be a possibility if that particular user had permissions to create new databases and user, which isn't possible right now.
-
A separate MariaDB service is running inside the container. the database files are stored at
/app/data
so they can be backed up. This might not be a good idea but many apps that use file-based database are already using this so this might not be an issue. -
The frappe-bench folder is huge (~1GB) and needs to be writable at runtime. Hence the backup size grows fast.
If there's no problem running an extra background process for mariadb, and storing the data in /app/data folder, I think the team can look into packaging it. Good thing is this app doesn't need regular update as you can run
bench update
command to automatically update the Frappe framework and apps like Erpnext. -
-
@nj
What you suggested is actually really hard to backup.
And it's not the best to have too many process in the same container.
Docker container differentiate from other container tecnologie to be single service container, even if they support multi services is not the best, especially for db.
Due to resources management especially. -
@nj hey thanks for doing god works, i tested it and works really well.
but i running to some problem when adding another erpnext site using different domain, seeing this message when visiting the urlYou are seeing this page because the DNS record of erp.redacted.com is set to this server's IP but Cloudron has no app configured for this domain.
i'm running this command succesfully in the terminal
gosu cloudron bench config dns_multitenant on gosu cloudron bench new-site erp.redacted.com
i'm sorry if this sound stupid, im new to cloudron
-
@nj thanks for comments.
Strikes me that someone needs to be brave and just say 'ERPNext will not be packaged for Cloudron', as much in fairness to those who are really keen on it so they know it won't happen and they can look to self-host on a different VPS.
I don't have a dog in the fight, just trying to improve clarity and reduce "app anxiety".
There is no mechanism to "close" an entry in AppWIshlist. Maybe there needs to be one?
Of course, if I am wrong, that's fine, the exploration can continue.
-
@timconsidine you can of course install ERPNext at Cloudron with the package provided by @nj It just needs some extra care and is not listed at the app store. Cloudron was always very open to custom package development and will push its efforts even further in the future.
There is no need to close the listing at the App Wishlist since there is still high demand for ERPNext and maybe at some point the app store will open up to list community maintained packages.
-
To be honest I started packaging the most voted apps and ERPNext happened to be one of them. Also it saves me from installing 99 other apps now.
The good things about this package are:
-
I don’t need to update it anymore; I can simply update the entire system without reinstalling this package
-
I’m still working to bring multi-domain to it. For now dns based multi-tenancy is showing some issues but I will fix it soon
-
If everything goes south, I can create a backup and move it to another ErpNext installation without an issue
-
Cloudron totally takes care of backup and restore and I have already tested it
The bad things are:
-
There are two processes running (mariadb and supervisor) and cloudron will only restart the container if supervisor goes out; but maybe I’ll add a mechanism to restart mariadb myself
-
the backup size will be >1GB but if I’m using incremental backup this isn’t a big issue
-
this app is not in the app store; but I’m going to keep the package maintained, because managing an instance of Erpnext on another VPS is going to be harder than maintaining it on Cloudron because I don’t have to care about ssl, redis, backups, ldap, etc.
So, guys, I’ll leave it here. Will let you know when an update is out.
-
-
@subven said in ERPNext - cost-effective ERP solution:
maybe at some point the app store will open up to list community maintained packages.
Sounds like that is in the pipeline:
@girish said in What's coming in 7.4:
Community repo (appstore)
-
@nj said in ERPNext - cost-effective ERP solution:
Cloudron totally takes care of backup and restore and I have already tested it
Not really, cloudron takes a snapshot of /app/data, and your database I guess don't create a dump before that happened.
That's not really stable as a solution.If you could like get a dump every x time, that could be a solution, even if not perfect
-
@MooCloud_Matt you don’t need to take a database dump because the entire mariadb database lies inside the /app/data folder.