In hindsight, probably flashing the Micro SD card to the version that was stuck, (or maybe also the version that it was failing to update to) would have fixed the problem faster, but I thought I would share my experiences to maybe give some help for someone in the future:
I was having an issue where I was stuck on version v0.4.17. When I would try to update to v0.4.18 (even though v0.5.0 is out at the time) the update screen would go very quick, only a few seconds, says it updated, and then I would be back at the exact same page saying update v0.4.18 is available.
I tried SSH in and manually use the update script for v0.4.18, same thing, would go very quick, looks to be a success, and then nothing happens.
I then tried to update to v0.5.0 instead, and that took longer, but then when umbrel restarted it never was accessible again through umbrel.local.
I turned off my node and reflashed my Micro SD card with v0.5.0, which then when umbrel.local was accessible it gave me a screen with a error “The version of UmbrelOS on your microSD card is not compatible with the version of Umbrel on your external drive.” a few minutes later I refreshed this screen and it just showed the restarting screen with status “installing” and at 97%. But it never did anything from there.
So I SSH in to see if maybe I can use the update script to downgrade the version to v0.4.18, the SSH password seemed to have reset back to the default “moneyprintergobrrr”, but after figuring that out it seemed to have been a success, after a few minutes umbrel.local was accessible, and I was welcomed to the screen showing update v0.5.0 was available. I updated using the UI and now I am successfully running v0.5.0 without any problems. (knock on wood) Also, all passwords have correctly went back to the one I set instead of “moneyprintergobrrr”.
The update script in question I used throughout is:
cd ~/umbrel && sudo ./scripts/update/update --repo getumbrel/umbrel#vX.X.X
Where vX.X.X is the version in question.