ERPNext Hosting and Architecture

Hi there, i’m quite new with this erpnext development.

I have my erpnext instance running well on my localhost. I make a few modification for the module.
But now, i don’t know how to upload my erpnext instance on my localhost to my cloud hosting. I’m using Linode for the hosting.

And please suggest to me as well, what the efficient way/ development environment architecture model for the future if i want to update current version with the newest version. Let say I create 1 new module on my localhost and want to upload into existing running erpnext hosting.

Note:
I have background in .NET development where i just need to click PUBLISH button on my Visual Studio to upload whatever changes I made into my hosting server. And i don’t how to do it on ERPNext.

Anw, I’m using ERPNext 14

Frappe uses git for source code management. As a best practice, all modifications of the code should be done in your own app. If you’ve done that, transferring your new code to production is often as simple as updating your production bench with a bench update command.

So, you mean if I have fresh VPS, I need to do following steps:

  1. Create a new repository in my github account
  2. Upload my code to this repository
  3. And I need to install all the ERPNext from beginning but using my own github url?
    or how?

You don’t want to make changes directly to the Frappe or ERPNext apps under most circumstances.

https://frappeframework.com/docs/v14/user/en/guides/basics/apps

1 Like

I need to upload my modified erpnext core module since I have issue on it.
Refer to:
Error - Debit and Credit not equal for Payment Entry for Payments Entry against Sales Invoice - ERPNext / Accounting - ERPNext Forum

I cannot create Payment Entry for my Education Invoice. And I try above solution, and it works. So in case, in the future I need to do some fixing like this, I don’t want to modify straight away in the live environment.

That’s why I need help how to deploy/publish my local work to live.

Peter, maybe i make it complicated, to make it simple.
Since you said i can do “bench update” for any app i developed using git and before i can do bench update, i need to install the app first to my site right?
And before install the app, i need to do “bench get-app”.

So, how i do “bench get-app” command to get my app from my own github url? Because if i just do “bench get-app xxxx”, i think it will straight away looking the app from "https://github.com/frappe"