Umbrel is a beautiful operating system as well as a services dashboard which is a good start for someone interested in self-hosting. It has a nice web GUI and allows easy installation of containerized web services with just one click.
This is perfect if you want a homelab setup with open source software for personal use but can’t (or don’t want to) do all the technical setup manually.
Umbrel: self-hosting paradise
Well, that depends on how you install Umbrel. On the website, there are two ways to “get” Umbrel. One is an image for the Raspberry Pi and another method is to install the Umbrel Docker image on an existing Linux installation as a Docker container.
So technicallyit is a Docker container management tool.
I tried with my Raspberry Pi 4 and here I share my experience and views on using Umbrel.
As of this writing, there doesn’t appear to be any official guidance from Umbrel on this…
But do not worry ! I flashed Umbrel to my SD card and looked under the ‘/boot’ partition. The only kernel found was called ‘kernel8.img’.
According to the official Raspberry Pi documentation, “kernel8” means a 64-bit kernel, while “kernel7” and “kernel7l” are 32-bit kernels.
As for non-Raspberry Pi hardware, here’s what I assume from my experience with Umbrel:
- Any 64-bit processor (all modern processors are 64-bit)
- Any Linux-based operating system, Ubuntu/Debian is preferred
- Minimum 4 to 8 GB of RAM
- An external SSD/HDD of at least 750 GB capacity (ALL DATA WILL BE CLEARED AT FIRST START)
If you like the idea of an operating system like Umbrel and want to install it, you need to decide whether you want to install it on a Raspberry Pi or any other computer.
Raspberry Pi (64 bit)
If you want to install Umbrel on a Raspberry Pi, it’s available on their Github at this link. Three files will be available for download, please download the ‘umbrel-os-VERSION.zip’ file.
While downloading the Umbrel image, download an image burning tool like BalenaEtcher.
Once Umbrel and BalenaEtcher are downloaded, insert the SD card and use BalenaEtcher to flash Umbrel to the SD card.
After the flashing is finished, insert the SD card into the Raspberry Pi with a hard disk/SSD larger than 750 Gigabytes and start your Raspberry Pi.
The web GUI will now be available at http://umbrel.local from your web browser.
If you don’t have a Raspberry Pi but you have a spare computer running Debian/Ubuntu, you can easily install Umbrel using a simple script provided.
The recommended way to do this is to run it with the curl command:
curl -L https://umbrel.sh | bash
The installation script will install the necessary dependencies, Docker, Docker Compose and finally, the necessary containers.
After successful installation, you will see the methods to access the web GUI.
By installing Umbrel on my Ubuntu virtual machine, I got the following methods to access the web GUI. One is a domain name, the second is an IP address, and the third is a TOR address.
Using Umbrel: The Good and the Bad
Like everything in this world, everything has its own positive and negative aspects. Umbrel is no exception.
It excels in ease of use but fails in basic customization.
The good parts
Let’s start this review by taking a look at the good parts of Umbrel. What I enjoyed using Umbrel and my experience.
The web GUI is simply amazing and looks second to none.
Umbrel, advertised as an operating system, comes with its own App Store. It has some of the most popular “self-hosted” software you can imagine. Some of my favorite software available on the App Store are Gitea, Home Assistant, Nextcloud, Pi-hole, Synapse, Syncthing, Tailscale, Uptime Kuma and more.
The idea behind the Umbrel App Store is very fascinating. Since Umbrel deals with Docker containers, apps are just docker-composed YAML files designed to run on Umbrel. This is the most elegant solution I have ever seen! You can view these files here.
This means that complex software like Nextcloud is now a “one-click install”.
The Web GUI Settings app displays useful metrics such as storage and RAM usage. You can also shut down and restart your computer from the Umbrel web GUI itself. No more SSH to a remote computer and running sudo shutdown +0 🙂
The Settings app also lets you enable 2-factor authentication for the web GUI (not the SSH login). 2FA is still a good security feature.
Umbrel enables TOR by default. This allows you to access the Umbrel web GUI over a TOR network without any hassle!
This means that even if you’re behind a router, you can remotely access your services like Nextcloud over the TOR network without having to get a public IP address or enable port forwarding from your router. Now that’s super cool! I need to do this for my homelab :p
bitcoin and lightning
Umbrel actually started as a project that made it easy to set up a Bitcoin node. And it became popular with crypto enthusiasts who wanted to run their own nodes.
The developers later realized that they didn’t have to stick with Bitcoin and other cryptocurrency software. They can extend this “one-click install” feature to other popular open source software like Nextcloud, PhotoPrism.
If you are interested in crypto, you can always find these software and install them. I have no interest in cryptocurrency so I did not install this software to check their performance.
The bad parts
Since Umbrel is still in v0.5, I’ll try not to go overboard, as I understand that some features take time to implement. But I still have to let you — the potential user — know the current situation with Umbrel.
An empty external disk is essential
The first problem I encountered on my Raspberry Pi was that the GUI would not start without an external HDD/SSD attached 🙁
In fact, it’s a requirement by design. Umbrel keeps the OS on one disk (your Pi’s SD card) and it needs a separate disk for application data.
Note that the external drive should not contain any useful data as it will be erased the first time you install Umbrel.
No multiple disks (with Raspberry Pi)
The second issue is that there are some limitations with the Settings app on the Umbrel web GUI. With a new reader connected, you cannot add it to Umbrel for use by applications such as Nextcloud, Gitea, etc. Which basically means the inability to use separate drives. This further means no RAID of any kind.
I think it’s more of a problem on the Raspberry Pi side as it can’t handle multiple external drives.
Storage configuration issues
The third “oversight” I encountered is that it seems impossible to change an app’s storage location, before or after installation. This is correct for devices with only one physical storage, but not for a Raspberry Pi or x86 computer where the host computer might have 2 or more disks attached to it.
The only thing you can manage about apps is to install or remove them. The web GUI doesn’t (yet) let you change things like the port number a container uses.
Remember the previous advice that if you are installing a hard drive/SSD to first startup, all the data it contains are erased? Well… what happens if you reinstall Umbrel? Is your previous data, which was stored by Umbrel, now deleted by Umbrel itself? I don’t see if such checks like this are present or absent.
All in all, if you’re new to your home lab, I recommend giving Umbrel-a-try a try (I’ll show myself)! It puts your Raspberry Pi to good use.
It is a nice web GUI for simple container management, which can give you a good boost. If you want something that “just works” without having precise control over buttons and switches, Umbrel is a good candidate for you.