Installing Umbrel on a RockPro64 Using a DietPi Distro
Tested on DietPi v6.32.2
These two scripts aim to generalize the installation of Umbrel on a RockPro64 Single Board Computer using an awesome lightweight distro for SBCs: DietPi.
DietPi comes with dropbear (a lightweight ssh server) enabled, which means you can ssh into the RockPro64 out of the gate without any configuration from a computer on your local network, as long as the RockPro is connected to your router with an ethernet connection. Note that you'll need an IP scanner to discover the local IP address of the RockPro. You can of course also connect the RockPro to a screen and keyboard and work from there without sshing into it.
Prior to running the scripts you should:
- Flash the OS on an microSD card and pop it in the RockPro
- Make sure the RockPro is connected to your router with an ethernet cable
- Power it on!
- You'll need to have mounted an external ssd drive to the RockPro to host the chain data. You can easily set that up in the TUI provided by DietPi. Simply start the
dietpi-launcherand use the
DietPi-Drive_Managerto format and mount your ssd.
How to use the scripts
The first step is to navigate to the root directory of your external ssd (that's probably
/mnt/<name_of_your_ssd>/). Running the first script from that location will ensure that the home directory for the
umbrel user created is not on the micro SD card that has the operating system on (which would be too small for the chain data). Make sure your external hard drive has enough space for your needs (a 1TB ssd is fine for a full mainnet node).
The process consists of running two scripts. The first one creates the
umbrel user with a home directory on the ssd drive and the second downloads all dependencies for Umbrel as well as the Umbrel software stack itself. You can use the formula
curl hyperlink > filename.sh to recreate both scripts on your RockPro and then inspect them with
An important thing to remember is that you need to run the first script as
root and the second script as
# root@DietPi # make sure you are in the root directory of the external drive you wish to use for Umbrel curl https://gist.githubusercontent.com/thunderbiscuit/e7f83cb62619e1368d6728e42949d21d/raw/aefd701106ed96eace760d4274d39ca6fa49ca63/create-umbrel-user.sh > create-umbrel-user.sh # inspect the script cat create-umbrel-user.sh # run the script source create-umbrel-user.sh
Exit the ssh session and ssh back in with the
umbrel user (e.g.
# umbrel@DietPi # make sure you are in the home directory for the umbrel user (it's called umbrelhome) curl https://gist.githubusercontent.com/thunderbiscuit/e7f83cb62619e1368d6728e42949d21d/raw/b426e3a60252453ee6956dc8c8a4ed3a98c65920/install-umbrel-dietpi-rockpro64.sh > install-umbrel.sh # inspect the script cat install-umbrel.sh # run the script source instal-umbrel.sh
Once that is done, you'll need to reboot the RockPro for Docker to work:
If the script above ran without any error, it will have created a directory called
umbrel-node. Make sure you are in that directory and start your node directly using the following commands:
sudo ./scripts/start # mainnet sudo NETWORK=testnet ./scripts/start # testnet sudo NETWORK=regtest ./scripts/start # regtest sudo ./scripts/stop # stop node
What is the script doing?
The scripts prepare the distro for Umbrel by accomplishing 6 distinct tasks:
- Changing default
umbreland moving its home directory into the external drive outside of the SD card where your DietPi operating system is (this is necessary because Umbrel will add chain data and the electrs database to your home directory, which would fill up the SD card immediatly if it was kept there).
- Install docker
- Install docker-compose using pip3. This is necessary because docker-compose does not support the ARM architecture as of yet.
- Give docker-compose executable permissions
- Install other dependencies
- Create a directory for the umbrel software stack called
umbrel-nodeand download umbrel into it