getumbrel / umbrel

A beautiful home server OS for self-hosting with an app store. Buy a pre-built Umbrel Home with umbrelOS, or install on a Raspberry Pi or any x86 system.
https://umbrel.com
Other
7.21k stars 522 forks source link

Is the Umbrel install by script coming back any time? #1826

Closed pablote closed 3 months ago

pablote commented 4 months ago

After having my personal Umbrel down for a while, I'm trying to set it up again in a new system. Tried installing it today and...

With the release of umbrelOS 1.0, umbrelOS now needs to be installed directly as the operating system on your device's internal storage, not on top of an existing OS like Debian or Ubuntu. Check out our step-by-step guide at https://umbrel.com/umbrelos#install

Well, that's depressing. Every guide is about how you can image an SD from scratch or similar. That's just not an option for me, to give it a full system, I need to be able to install it on an existing one. Is the option to install by script in an existing system ever coming back? or am I out of Umbre for good? thanks

JulianTV123 commented 4 months ago

I also hope the old installation will come back, because with the new instructions it's a headache, there's not even an ISO to install :/

highghlow commented 4 months ago

I think it could be possible. The img file copies a tar.gz file with a debian installation inside it to the drive. I think they use a script to install umbrel on a fresh debian installation, package it up, add an installer and publish. But it's just a theory

highghlow commented 4 months ago

I checked, it's true: https://github.com/getumbrel/umbrel/blob/5a042334e36e65128058f512c29e7af422f4be0c/packages/os/usb-installer/overlay/opt/custom-tty#L44

Maybe it's possible to make an installer

highghlow commented 4 months ago

They get the rootfs by exporting a debian docker container: https://github.com/getumbrel/umbrel/blob/master/packages/os/usb-installer/run.sh#L5

https://github.com/getumbrel/umbrel/blob/master/packages/os/usb-installer/usb-installer.Dockerfile

pablote commented 4 months ago

@highghlow if you can figure this out that would be great

highghlow commented 4 months ago

@highghlow if you can figure this out that would be great

I have figured out the steps needed to install umbrel manually. If everything goes to plan (Which is highly unlikely) the script might be done today (timezones...)

highghlow commented 4 months ago

Here you go: https://github.com/highghlow/umbrel-install-script

Important info: You should have a separate partition mounted to /data. In my testing the root partition used up 7GB. I would recommend shrinking the OS partition to 7.5GB and the making a partition for /data in the remaining space (700MB used on a base install). The /data partition should be added to fstab. Everything not in /data will be lost on update.

If any errors occur, please report them to my repo. Not here

update: there was a warning: It turns out everything dies after a reboot. Wait until I remove this message

I've fixed it, but I can't test the installer because my VM got borked

highghlow commented 4 months ago

@pablote

pablote commented 4 months ago

Thanks, I'll give it a try soon

Digital39999 commented 4 months ago

Out of curiosity, would it be possible to avoid all that and just host umbrel as a container using docker compose?

highghlow commented 4 months ago

Out of curiosity, would it be possible to avoid all that and just host umbrel as a container using docker compose?

I thought about that. It maybe is possible, but mill require large-scale rewrites of umbreld.

highghlow commented 4 months ago

Please mark the issue as closed. It now exists unofficially and it can't exist officially.

mayankchhabra commented 3 months ago

Unfortunately as @highghlow noted, we have decided not to support it in favor of offering increased system reliability and stability. Here's the full reasoning from our community forum post so let's close this issue for now:

You may remember installing umbrelOS 0.5 using the command curl -L https://umbrel.sh | bash on your device. This method layered umbrelOS on top of your underlying operating system (i.e. Ubuntu or Debian) using a series of scripts and system services.

umbrelOS 1.0 brings a complete architectural overhaul, and it’s been rebuilt as a standalone operating system that installs directly onto your device’s internal storage. This change is crucial because umbrelOS now handles low-level operations like disk partitioning and file-system management. And by operating in a fully controlled environment, it increases the security, performance, and stability of the entire system.

We could not deploy umbrelOS 1.0 as an over-the-air update for devices running Ubuntu/Debian because it involves replacing the entire underlying operating system.That said, with the introduction of umbrelOS 1.0, future updates will be delivered over-the-air.

umbrelOS 1.0 implements a robust A/B partitioning scheme that enables OTA updates with rollback capabilities, allowing us to update the entire OS image, including drivers and the Linux kernel. This ensures we can deliver critical security updates reliably and safely — a limitation we faced previously.

As a result of the new OTA update architecture, any modifications made to the umbrelOS system (host OS) manually via ssh/terminal will not be saved across software updates. If you’re looking to run custom software in a Linux environment, consider using the Portainer app available in the Umbrel App Store.

Closing the issue for now.

kroese commented 3 days ago

@Digital39999 I created a Docker container of UmbrelOS that does exactly what you need: https://github.com/dockur/umbrel It runs UmbrelOS without the need for dedicated hardware or a VM.