This post is a guide to installing Umbrel based upon an Ubuntu Operating System (OS). The quickest and easiest method to getting started with Umbrel is to use a Raspberry Pi 4, however, at EXOWEB Studio we are all about building/tampering with and sometimes doing things a different way…and from any spare hardware that may be left lying around!
We must make it clear that the advertised recommendation from Umbrel is to install on a Raspberry Pi, however, Umbrel does support installation on any Linux-based OS such as Ubuntu and Debian, be that virtualized or a host (physical) machine.
Our reason for choosing the Linux route is that we have loads of PC hardware lying around and can easily repurpose an old machine to build an Umbrel node. As long as you meet the minimum requirements for the Linux OS and Umbrel which we discuss below, nothing is stopping you from building an Umbrel very cheaply!
Try to source an old pc from friends, family, work or even very cheaply from eBay. Our intention was also to modify the case to add a little garage touch (this involved spray paint found in the garage) because that’s what we’re about- getting dirty, geeky and techie in the garage!
The last thing to note before we dive into this is that Umbrel is currently in beta and is not considered secure – the Umbrel team makes this clear but also acknowledges that they have many more things to do! With so many people spinning up an Umbrel node they are likely to be beavering away to make Umbrel even more awesome! Although we would suggest to the Umbrel team to build server grade image. like Ubuntu Server or CentOS except with Umbrel shell! So, let’s begin!
Umbrel – Believe in Bitcoin
This post assumes that you’re aware of Umbrel, what it provides and how you’re helping to support the decentralization of the Bitcoin network! If you’re not aware of Umbrel you should head over to their website for detailed information, however here is a very quick rundown.
Umbrel is free and open-source software which means it’s available to anyone to install!
This provides you with a personal Bitcoin and Lightning node, you can connect common wallets to your node and also access it from anywhere. Ultimately the node and network provide you with very quick transacting but also with very small fees.
Another awesome feature of Umbrel is the ability to install and run apps on your node. More on that in later posts!
Our overall requirements are based upon the requirements of the OS and Umbrel, as detailed below. Reviewing each of these is the minimum you need in our proposed setup is the following:
- Minimum of 4GB DDR4 RAM (8GB DDR4 RAM recommended)
- 1.0 Gigahertz CPU or better.
- 1.0 TB of free space (2-4 TB SSD hard drive space recommended, if you consider using Umbrel apps [ at least 3.0 GB Ubuntu minimal install + 600 GB Umbrel space] )
The first requirement is that of Umbrel itself considering our option to install on Linux that’s the requirement of the OS, in addition to this it requires 4GB+ of RAM and 600GB+ Hard Drive space (this is required to store the complete blockchain record, at this current time)
Umbrella requirements can be viewed on their GitHub page.
Our choice is to go with Ubuntu however we want to keep the OS to the bare minimum and therefore opt to use Ubuntu Server – Essentially you will not have a desktop to log into, but do you need one? You will be logging into the Umbrel User Interface (UI) via another computer more than likely anyway.
The minimum requirement of an Ubuntu server is 1Gigahertz CPU, 1GB RAM, and 2.5GB Hard Drive Space – if you choose to install the desktop version these requirements will increase dramatically!
Ubuntu server requirements can be reviewed on their site.
With the requirements identified, you can set about selecting some hardware, as we mentioned you can probably run this from an old PC that is no longer used. See if a friend or a family member has one lying around that they no longer use or need. You can also search on eBay for example and find various small form factor PCs Asus, HP and ACER have all produced these, you may be surprised at how cheap you can pick them up. This system could work with Amazon
Processor: AMD Ryzen 9 5900X
Motherboard: MSI MAG X570 Tomahawk WIFI
RAM: Corsair Vengeance LPX 32 GB DDR4 3200 (2x16GB kit)
Storage: Samsung 870 QVD 2TB SSD (4 drives)
GPU: MSI RX 6500XT 4GB
Case: SilverStone Fara R1
Power Supply: Corsair TXM Gold 550 W 80+ Gold
Prepare For Installation
Once the hardware is prepared, the next step is to look at the Umbrel installation itself. Before this, we need the Linux OS on the device. Our chosen OS is Ubuntu server 21.04. The reason for choosing the server over the desktop version is to keep this as minimal as possible.
For our case use, we don’t need to use this as a PC so we don’t need a desktop screen or to even plug it into a screen once it’s installed, we just want it sitting pretty so we can look at our beautiful Umbrel node.
For the more technical ones or those that care, we are just installing the Linux Kernel, Basic Linux tools, and Debian APT system, enabling us to install Umbrel.
Creating Bootable USB Stick
In order to install Ubuntu onto the device we need to install it, for this we will create a boot USB. This will allow us to boot the device up with the USB which is the installation media for Ubuntu. We need two things to complete this as follows:
- USB Flashdrive
You will need a USB stick which is at a minimum of 8 GB
- Ubuntu Server
You will need to download the Ubuntu Server image from here
- Bootable Drive Creation Utility
For Windows users: Rufus Utility
For macOS users: balenaEtcher Flashing Tool
Either of those applications needed to create a Bootable USB drive.
Once you have the three above requirements, we next want to create our boot USB. You can follow the screenshots and instructions below to create the boot USB.
- Open the application which you downloaded and installed called Rufus
- Insert your USB Drive into the computer you opened Rufus
- Under Device pulldown select the USB drive in this example it’s called UbuntuServer 21.04.amd64 you need to select the USB which you just inserted to create the boot disk
- Under boot selection, you need to select the Ubuntu Server OS which you downloaded this will be named the same as shown to the left
- Hit start
- Once complete Rufus will tell you and you can close the application and remove the USB from your computer
- Boot into balenaEtcher
- Insert your USB Drive into an available USB port on your Mac
- Press Flash from the file and chooseUbuntuServer 21.04.amd64
- Choose your USB Drive as the target
- Press Flash
- Enter your user password when prompted
- Wait for the process to complete
- USB drive should auto eject
Your boot drives are ready!
Next is to install the Ubuntu Server OS on the device. You can follow the steps below to complete this.
- Connect your device up with a keyboard/mouse, screen and with the boot USB inserted into the device but still powered off.
- With the USB inserted to turn on your device, if it brings you to a Ubuntu screen then great move on to step 4, if not carry out the next step.
- If the device does not boot to a Ubuntu screen with the USB plugged in, we need to tell it to boot from a USB rather than the internal hard drive. We make this change in BIOS but to get there you will need to turn it off and back on again. It should tell you when the device is turning on how to enter the Boot Menu it’s likely to be by pressing F2, F10 or F12 – Once in the BIOS find the boot priority and ensure that priority 1 is to boot from USB.
- You may arrive at a screen called GNU GRUB if so select Ubuntu Server
- Next choose your desired language
- Allow it to detect or select your regional keyboard layout
- At the next stage it will like you to connect to the internet, the WiFi will not work at this stage so you will need to plug in via ethernet if not already done.
- Once connected to the internet an IP address is shown on the screen, press Done
- Unless you’re using a proxy on the next screen (Configure Proxy) press Done
- Leave the default Mirror address by pressing Done on the (Configure Ubuntu Archive mirror) screen
- At the next screen Guided Storage Configuration you can select the disk setup, the standard is to use the entire disk by pressing Done
- The next screen will confirm the file system summary click Done
- Ensure you have opted for the correct disk and confirm action at the pop-up screen
- At the profile screen, you can provide your name, the servers name and provide the username
- At the SSH Setup screen, select to install OpenSSH server and select Done
- We did not opt to install any additional features at the next screen (Featured Server Snaps) this is to keep the Umbrel OS very lightweight click Done
- Once the install completes, the screen will show you (Install Complete!)
- Select Reboot now
- Remove the USB drive when it tells you and press Enter
This should now complete the Ubuntu installation stage, next we need to SSH to the server and set up Umbrel!
Connect to the server via SSH
Ubuntu is now installed and we are going to connect the server via something called SSH. To do this we require an SSH client, there are many available however our weapon of choice is called Termius SSH Client – this can be downloaded from here and installed if you wish to use the same.
You will need to find the IP address of the server to connect to, you can do this by looking in your router and finding the device by its name – this should have an IP address and it’s probably a good idea to make it static IP whilst you’re in your router.
- Enter the IP address of the device in the host field
- The port should be 22 by default
- Enter your username which you set up for Ubuntu Server
- Enter the password
- Double click and let Termius connect
The following instructions have been detailed whilst following the Umbrel installation guide which can be found here. The below commands can be copied and pasted into your SSH terminal directly.
First, let’s check everything is up to date by running the following command
sudo apt-get update
Next, we install packages that ensure APT use repositories over HTTPS
sudo apt-get install apt-transport-https ca-certificates curl gnupg software-properties-common
Next, add the GPUG key (used to sign repositories etc)
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
Add the repository to APT using the stable version
echo \ "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
Now install docker-engine
sudo apt-get update sudo apt-get install docker-ce docker-ce-cli containerd.io
To test docker is installed
*this should give you back the version and build
To test docker can run a container *this should give you back the text Hello from Docker
sudo docker run hello-world
Install Docker Compose
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
To test docker-compose has been installed correctly *This should give you back the docker-compose version installed
Install Remaining Umbrel Requirements
To finish the installation requirements before we install Umbrel, these are the remaining items to install
sudo apt-get install fswatch jq rsync curl
Create a new directory for Umbrel, if using an external hard drive you may want to create the directory on this drive at this time. If using an internal hard drive you can perform the following to make an Umbrel directory and then change into that directory to install Umbrel
curl -L https://github.com/getumbrel/umbrel/archive/v0.4.0.tar.gz | tar -xz --strip-components=1
That’s it, Umbrel should now start and you can follow the on-screen guidance with the IP address shown to log in via the very cool User Interface
If you need to re-start Umbrel for any reason, you will first need to SSH into the box and then ensure the service is running/started by using the following commands
Login to your Umbrel
Now that you have completed your install, you can go ahead and log in to your Umbrel and set it up. We have not covered this here as Umbrel has made it very simple and easy to follow! Ultimately go to a browser (hope it’s Brave) and put the IP address into the URL bar. That’s it!
By the end of this guide, you should have successfully set up your own Umbrel node on hardware that you hopefully already had or found/purchased cheaply. The advantage of using Linux is that it gives you the option to install in many different ways, a small form factor PC, a PC itself or even to virtualize on your own desktop and run it.
Umbrel is designed to be kept on 24/7 or with the most uptime possible if you want to support the network and connect not just yourself, but for others to route payments through your node.
We absolutely intended to have our Umbrel case modded, in fact, we spent time making a great template cut out of the Umbrel logo and set about spraying it on. It did not go to plan but not everything does! We would love to see your modded Umbrel nodes so do tag us in and let us take a look!
We have only covered getting an Umbrel up and running at this stage, we have not yet gone into the node and started to play around with channels and some of the apps, but we will be sure to do that and post all about it.
Enjoy your new Umbrel node, become bitcoin and be patient whilst the blockchain syncs… It can take a long time but is well worth it!
If you liked this article consider donating with BAT or use our links to purchase stuff on Amazon.
1 thought on “Umbrel install on Ubuntu Server”
If you have any questions or problems let me know here!