-
Notifications
You must be signed in to change notification settings - Fork 554
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
OTA Updates #32
OTA Updates #32
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Some minor tweaks but looks really good overall.
The only important thing I see missing is signature verification.
Co-authored-by: Luke Childs <[email protected]>
Co-authored-by: Luke Childs <[email protected]>
Co-authored-by: Luke Childs <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think we should be doing wget | sh
as part of the update process. See review comment for details.
Some more fixes here: https://github.com/mayankchhabra/umbrel/pull/6 |
Awesome, looking ready to merge... |
Over-The-Air Updates
This PR adds the functionality to allow the user to update their Umbrel installation on the go, without having to manually install new releases or re-flash Umbrel OS image.
The execution flow of the update process is documented here.
How to test
4 demo releases have been made on the
mayankchhabra/getumbrel
repo.Umbrel
v0.1.4-beta.2
(base release)Umbrel
v0.1.4-beta.3
(requires>= v0.1.4-beta.2
)Umbrel
v0.1.4-beta.4
(requires>= v0.1.4-beta.3
)Umbrel
v0.1.4-beta.5
(requires>= v0.1.4-beta.3
)You should install the base release - Umbrel
v0.1.1-beta.2
.Expected behavior
After installing
v0.1.4-beta.2
(base release), you should be able to installv0.1.4-beta.3
and thenv0.1.4-beta.5
, thereby skippingv0.1.4-beta.4
.Step-by-step testing instructions
karen
Finish the onboarding and reach the dashboard. Go to the settings page and verify that you're running Umbrel version
0.1.4-beta.2
as seen on the "system" card.Meanwhile, you should also see an alert notifying about a new Umbrel release available. It should be
Umbrel v0.1.4-beta.3
. Click "install" to install the update.After the update is complete, verify that the Umbrel version on the settings page is
0.1.4-beta.3
.Meanwhile, you'll get another alert notifying about a new Umbrel release available. It should be
Umbrel v0.1.4-beta.5
. Click "install" to install the update.After the update is complete, verify that the Umbrel version on the settings page is
0.1.4-beta.5
.Further improvements:
Creating a
rollback.sh
script inbin/update/
that rollbacks the update if:- The update fails for whatever reason (network issue, any error, etc)
- The device is unplugged or there's a power interruption in the middle of an ongoing update
Selectively prune Docker images and volumes by filtering using labels.
Verify release signatures (should also be done in
install-box.sh
too).Before Merging
Related OTA Update PRs:
Will close #1 on merge.