☂️ Umbrel - your personal Bitcoin node.
Run your own Bitcoin and Lightning Network node on a Raspberry Pi or any Linux OS. Cut out the middlemen and use Bitcoin to its full potential. For free.
Before You Begin: It is important to note that Umbrel is in beta form.
Umbrel has released an incredible product and their website onboarding process has user experience at the forefront. On their page, you'll find clickable links to the parts needed and a step-by-step guide for setting up your node. This write-up will be directed towards knowledge gaps I wish I had known before running my node. In summary:
- Using a dedicated device
- Turning the Pi on last, not first.
- Understanding the different cases and enclosures
- Putting the case on before connecting anything to the Pi
First, not mentioned on Umbrel's landing page is the advice of pursuing this entire experience on a dedicated device. From a high level, if you connect mobile wallets, desktop wallets, or even hardware wallets to your general-purpose computer, you should stop doing any of that. Using a dedicated device for additional security is always an additional layer of safety. For purposes of running Umbrel, you'll want to use that same lens. It was only after I had ordered all of the parts listed below 👇 that I learned that a dedicated device is optimal.
When getting started you'll want to visit getumbrel.com and scroll down to the options depicted in the photo above. Notice the Recommended highlight above grabbing a Raspberry Pi 4 rather than Installing it on Linux. I grabbed everything straight from the recommended list, and below is a table on those items and the cost. I spent $250 after shipping cost. When it comes to the Raspberry Pi, the MicroSD, and the Ethernet Cable, you can find cheaper options.
|🛒 Item||💰 Cost||📜 Notes|
Raspberry Pi 4
1 TB SSD
Great Case, Better Options Available
Ensure you get official power supply
10 FT Option
Raspberry Pi 4 Case
Great Case, Better Options Available
Only if needed
The first mistake I made was plugging in my Raspberry Pi 4 on step one when starting. Not fully understanding the Pi, I assumed it needed to be on and charged up before I began the other steps. Connecting your Pi to Power is the final step. Steps 2 and 3 are to download both UmbrelOS and Balena Etcher. Step 4 is inserting the MicroSD into the Card Reader to insert into your computer. Looking at the last option in my chart, here is where you may or may not need a Card Reader. Many computers have that option built into the hardware, but not all. If yours doesn't, make sure you grab one in the shopping process.
In Step 5, open Balena Etcher. On the far left, you'll have the option to select a file or URL (Select the Umbrel OS you downloaded), in the middle, you'll choose the location (Select the MicroSD Card inside the Card Reader that you Inserted into the computer), and click Flash ⚡. This took thirty seconds for me, and when done, you will get a Flash Complete notification, and you can now disconnect and remove the Card Reader from your computer.
Before you begin Steps 6 through 9, make sure you have put your Raspberry Pi 4 and SSD in their cases! I did not do this and later had to disconnect power, USB to the SSD and the ethernet cable to put the case on. Not a huge deal, but I would have liked knowing that this should have happened first. Additionally, I wish that I would have shopped around for other cases instead of choosing the one listed. The one listed is a good case, but I did not understand both (a) the extent to how hot the Pi gets and (b) the customization offered in the market. I ended up getting one with a fan built in that helps with both (a) and (b).
Once you have chosen the enclosures and cases you want, following steps 6 through 9 are merely connecting everything to your Pi and turning it on by plugging your Pi into power.
Step 10 is connecting to your Node through the Umbrel portal. I did not have any issues connecting to umbrel.local, but I've read about a few who have. If you have any problems with the hardware or connect to the portal, jump into the Telegram chat and ask your questions. Another option is reviewing their troubleshooting docs to see if it is a general fix.
After completing these steps, the walkthrough at the Dashboard is simple. You will enter a name, create a password for accessing your node through the terminal or browser, and document your seed phrase. If you aren't already aware, do not share your 24-word seed phrase with anyone. Do not text it, do not type it out anywhere, do not store it digitally, and do not take a photo of it. Once you have written it down, consider making a copy and keeping it in a separate location like a safe deposit box in case your house ever gets flooded 🌊 or burns 🔥 down.
Once you get through to your dashboard, you will be able to view Bitcoin Core downloading, your Bitcoin Wallet, Lightning Wallet, and an App Store Umbrel is continually updating. Bitcoin Core took about a week for me to fully download, and for others it could take longer depending on your internet connection.
Problems I Experienced
- (a) Getting Stuck at the Umbrel.Local loading Screen
- (b) Trying to fix that freeze ☝️, encountered another error. Both fixes below.
The problems mentioned below were solved through Umbrel's help page and their telegram chat. I recommend heading to those places first, but if you happen to experience any of the same issues I have, feel free to use the steps I used thanks to a telegram user patient enough to walk me through them.
First, accessing your node via terminal by command:
You'll be asked to enter a password. the password is
moneyprintergobrrr. On version 0.3.3 or later, the password is your personal user password created when setting up your dashboard.
What ended up being a bug with the most current version lead me down this path of learning how to debug my node and check for errors. Initially I was getting stuck at the dashboard login screen. When going to umbrel.local and typing in my password, nothing would happen. It would just freeze and look like it was loading but never did so. On my journey of fixing this I ended up causing my issues. If you are stuck in the Umbrel dashboard, scroll down to Frozen at Umbrel Dashboard Fix once you have accessed your node by running run:
After running the script above, you will get a long list from your terminal letting you know (a) of any issues or (b) of no issues. My first debugging let me know that my Pi had gotten too hot, and the temperature was high. Since I hadn't gotten my fan case yet, I simply took it out of the recommended case and this the overheating issue. My second debugging resulted in no errors, but let me know to upload the the debugging script that the terminal provides to the Telegram chat so others can review it. Upon doing so I was met with a ton of help.
To fix the issue, I first tried basic troubleshooting actions listed below before Eventually finding a resolution:
sudo shutdown - Shutting down my node
sudo /etc/init.d/networking restart - Restarting my node
Neither worked, so I shut my node down, removed the MicroSD, and reflashed it through Balena. This did not work either, and actually ended up causing another issue. Upon accessing my node post reflash via SSH, I was met with the following error: Scroll down to Frozen at Umbrel Dashboard Fix to resolve the freeze at loading screen. This error might be fixed with the latest update asl well.
@@@@@@@@@@@@ WARNING: POSSIBLE DNS SPOOFING DETECTED! @@@@@@@@@@@@@@@@@@@
The ECDSA host key for umbrel.local has changed, and the key for the corresponding IP address XXXX:XXXX:XXXX:XXXX::XX
(This String is Private Dont Sha
@@@@@@@@@@@@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY! Someone could be eavesdropping on you right now (man-in-the-middle attack)! It is also possible that a host key has just been changed. The fingerprint for the ECDSA key sent by the remote host is
SHA256:XXXXXXXXXXXXXXXXXXXXXXXXXXXXX (This String is Private Dont Share).
In summary, when reflashing I wiped my information and when revisiting the node, it had now recognized me as someone else. This was solved by entering the SHA256 above into my known_hosts files so that my terminal would recognize myself as a known_host. The commands for this option may vary depending on windows or mac.
notepad known_hosts for Windows
open -a TextEdit known_hosts for Mac
Once you have followed these steps you will receive a txt file that opens. In that txt file that just opened, replace the ECDSA key with the SHA256 key you were given when the SPOOFING error popped up. In my example above, it is XXXXXX out, but yours should have a long string of numbers and letters. Once replaced and the txt is saved, close out and access your node again via
ssh email@example.com and you should be met by a password requirement and not the spoofing error.
Now that the fingerprint is recognized, it was still met with freezing on the dashboard. To fix this you will want to enter the following:
Frozen at Umbrel Dashboard Fix
sudo systemctl stop umbrel-startup && sudo rm -rf ~/umbrel/lnd/!(lnd.conf) && sudo rm ~/umbrel/db/user.json && sudo rm ~/umbrel/db/umbrel-seed/seed && sudo systemctl start umbrel-startup
This command is basically deleting all of your info. Sounds scary, but if you had funds in either wallet you’ll be able to recover them with your seed in just a moment. Additionally, the syncing progress won't be lost. After running this command, you will be able to access the dashboard at umbrel.local and it was appear as if you are creating a new new and wallet for the first time. Simply click recover, enter your 24-word seed phrase, and you will have access back into your dashboard!