"pushbutton" upgrade

Apologies if I ask silly questions, I'm kinda new here.

I'm looking into installing an owrt router in a nontechnical environment. I need to provide a fairly simple procedure where they can keep themselves on the latest version without losing the config I build for them or doing an excessive amount of administration. I realize that packages and functionality changes with updates, but obviously I'd set up something to email me if there's a problem.

The working image will only use cfdisk and maybe travelmate, possibly some crypto and vpn but probably not.

Many thanks in advance for any suggestions


ETA: Probably with the exception of updates this thing needs to stay off the broader internet. Whatever solution I come up with would need to start with connecting to the net and end with disconnecting. Bringing up and shutting down the relevant interface should do fine.

Well surely it will not be an easy task to achieve. I think searching around this forum will give you some ideas (as other people have asked it).
You may also want to check the development of this idea

There are several aspects to upgrading:

In the basic situation where the router in question has been flashed with an official release build (downloaded from the OpenWrt site) and no additional packages have been installed, it is usually possible to upgrade the firmware within any given major release (i.e. 19.07.4 -> 19.07.5) without any additional work/reconfiguration necessary. During the upgrade process, the user simply has to opt to keep the existing settings.

Keeping your existing configuration gets a little more dicey when upgrading between major versions (i.e. 18.06.x -> 19.07.x) since there can be some changes that can affect compatibility of the configuration files. Often it is okay, but it should never be assumed to be safe until it has been tested, and it would be very ill-advised to attempt to do this for a bigger jump than a single major release (i.e. keeping settings 15.05.x -> 19.07.x would be a very bad idea).

In all cases, when running a sysupgrade with an official release image, if there are any non-default packages that have been installed, they will need to be reinstalled post-upgrade. Configuration files will remain in place (per the description above), but the packages will need to be reinstalled. There are some scripts to make this easier, but it is still not a one-click solution.

That said, there is an image builder which can be used to incorporate the non-default packages into the image, and it is even possible to setup the image with customized configuration files. This is ideal for a situation where an user/admin needs to pre-configure the image to make an upgrade as simple as possible, although it does require some minor work up front by someone with a bit of technical knowledge -- it is recommended that the person preparing the image has the same hardware available for testing/verification before sending the image to a non-technical user.