ERPNext - cost-effective ERP solution
-
@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.
-
@nj
that is correct if you have ZFS or BTRFS, that can do a snapshot instantaneity.
But cloudron uses a simple compression or rsync, which means that from when it starts and when it stops it takes time and in that time, data could be changed and the relationship could come out corrupted.postgress in their documentation, for example, suggests that if you want to use an fs snapshot you should stop the DB.
-
@LoudLemur you are right in that case. I didn’t worry because my backup schedule is at 3:00AM when nobody really used the app. If you expect people to write to the database during backup that’s an issue for sure.
Fortunately, ErpNext has a solution for that. We can put the app in maintenance mode for a while, and as I have already setup this ErpNext package to allow database read operations during maintenance, only writes will fail, which means websites etc will still be working fine.
Unfortunately, Cloudron doesn’t have a scheduler or cron system that can trigger a script before starting to backup and another script after backup success / failure. If @girish added a cron format like @prebackup @postbackup and @onbackupfail or simply added those options to the scheduler manifest, it would be perfect.
Either we could put the app in maintenance mode right before backup and put the site back on afterwards . I could even run mariadb inside /run/mariadb instead of /app/data ; I would only create database backup at /app/data/mariadb-dump-datetime.sql right before backup and delete it when backup task completes.
Also I’d like to see/know how the database addon handles backups and restoration.
-
@nj said in ERPNext - cost-effective ERP solution:
Unfortunately, Cloudron doesn’t have a scheduler or cron system that can trigger a script before starting to backup and another script after backup success / failure. If @girish added a cron format like @prebackup @postbackup and @onbackupfail or simply added those options to the scheduler manifest, it would be perfect.
File a feature request for this to get it in their queue.
-
@nj Thanks for packaging ERPNext. Its potential is vast.
Trying out different features of it I notice that there seem to be several modules missing when compared to the ERPNext docs.
For example Automation is missing. (Though I can reach and use event producers by searching for it, or reaching
/app/event-producer
directly)Perhaps that's all in order if your app is packing the core app only?
-
@yusf I have setup frappe to install ErpNext only. If Automation is an app, you can add any apps you like. Instructions on Github. I also installed other apps after installing this package on my cloudron. Or maybe Automation module is hidden by default and you can show it from Settings, I don’t know.
-
I spent several days to make ErpNext work with Cloudron MySQL or Postgres. Unfortunately, postgres support is still a work in progress in ErpNext upstream and the project uses some features like
CREATE SEQUENCE
that are only available in MySQL, not in MariaDB. That's why the current version of this package is the most stable one.My suggestion to @staff if you can, please add the MariaDB addon alongside the MySQL addon. It should be extremely easy to add because of the similarity with MySQL. There are so many open source software that use MariaDB, and will sooner or later be incompatible with MySQL.
-
-
-
@girish said in ERPNext - cost-effective ERP solution:
TBH, I don't think we will be able to support this sort of selfhosting complexity.
Cloudron does brilliantly at hosting Nextcloud, which I think is a somewhat similar, complex application. What is it about Nextcloud which makes it possible where ERPnext is too tricky?