Automatic updates?

I would like to add a system to automatically pull down new versions of my app and update automatically, but I’m not sure where to even start on that. My app is self-hostable and thus this sort of thing would reduce the administrative workload for hosters.

From an operational risk management perspective I would look into the direction of container images.

I should add that I once implemented something like this for another technology stack.

It was a nightmare!

People will ignore installation details, prerequisites, etc. and still blame you for all issues coming from their mistakes.

Take a look at the way Gitlab deploys. Every week we have an upgrade window, and many weeks our on-premise install gets a patch or minor (and occasionally major) upgrade. They have a lot of different ways to install, and our sysfolk just run a script to update. There’s a lot of documentation around this project, and it has a lot of real-world experience that is freely shared. Naturally, as an open/paid dual-license project, there’s a lot going on in the code that only makes sense to other projects that need the “freemium” experience. If that’s you, then you may find a lot of good information by digging through their various repos. This one in particular is what they use to “build the deploy packages”: / omnibus-gitlab · GitLab


1 Like