ERPNext - cost-effective ERP solution
-
@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?
-
@LoudLemur you can see this post by @nj who already spent 100+ hours on this. The app also (when previously investigated) required database admin credentials and had restrictions on how username/password is created etc. All this makes it basically unviable for selfhosting imo, in general. I am sure it can be made to run with Cloudron with a lot of effort , but it's not worth it (for us).
-
-
-
Yes, the package still works.
New Installation using my image
To directly install ERPNext if you haven't previously, use this command:
Remember to replace <yourdomain.com> with youre actual domain.cloudron login my.<yourdomain.com>
cloudron install --image njsubedi/cloudron-erpnext -l erp.<yourdomain.com>
Open the file manager to look for the credentials.
If you need to login with LDAP, you can do that by using the terminal of this app, and run
/app/pkg/setup-ldap.sh add
Otherwise, that's all you need to do.
Updating
If you previously used ths app and want to continue using version-14, you need to do is run
gosu cloudron bench update --reset
once in a while to keep things up to date.Now, I have upgraded the code to use version-15 by default.
If you were previously running on version-14 and now need to update to version-15 that's pretty easy too.
Just run
gosu cloudron bench switch-to-branch version-15 frappe erpnext --upgrade
Then run
gosu cloudron bench migrate
-
Currently, the data is automatically backed up. But I have also setup S3 backup to BackBlaze just to be double sure. Cloudron backup can be used for full restore of the site. It contains the database, files, and everything. ERPNext backup can be used to restore to a fresh installation.
Cloudron Auto Backup
S3 Backup Settings in ERPNext
PS: I would highly recommend utilizing your cloud provider's "Automatic Backup" or "Automatic Snapshot" feature that allows you to automatically backup the whole VPS everyday. This way you have redundant backups. Make sure to use multiple vendors. For eg: if you host your VPS on AWS,
- Use AWS's automatic VPS backup system
- Configure Cloudron backups to say, DigitalOcean spaces
- Configure ERPNext backups to say, Backblaze
If all three are in a nearby region, latency won't be an issue, and you'd hardly ever deal with data loss, unless all three cloud providers close your account on the same day.