Bitcoin Node/Lightning Journey (Phase 1)
So after a few years of happily running an Umbrel node on a Raspberry Pi, I decided it was time to level up. Umbrel is awesome, it’s simple, sleek, and perfect for getting your feet wet. But eventually I realized I was coasting along without really understanding what was happening under the hood.
This series is my attempt to fix that. I’m documenting the process of setting up Bitcoin Core and Lightning from scratch (partly as a guide for others, partly as a way to force myself to learn). This isn’t the fastest or easiest path (Umbrel still wins there), but if you want to really own your node and gain sysadmin-level confidence, this is the way. Welcome to Phase 1. 🚀
Background
Been running an Umbrel node on a Raspberry Pi for about 3–4 years, so pretty familiar with it
Finally at the point where I wanted/needed to upgrade the hardware
Taking this as a chance to learn and run a node like a real hardcore admin, instead of just using Umbrel (which was honestly super easy)
Big Picture Steps
Get new hardware
Install Ubuntu on new hardware
Install Bitcoin Core
Install LND (Lightning Network Daemon)
Migrate over channels from my previous node
Prerequisites
Experience Level: Intermediate (if you can copy/paste Linux commands without panicking, you’re good)
Time Required: 1–3 weeks (99% of that is waiting for the blockchain to sync, so grab a coffee, or 200)
Hardware: At least 1TB storage, 8GB+ RAM recommended (Bitcoin Core doesn’t play nice with weak setups)
Hardware Setup
What I Bought
Mini PC: Dell 3070 Micro — $179.99
Intel i5 9th Gen
16GB RAM
120GB SSD (came with Windows 10 Pro, which I promptly nuked)
Storage Upgrade: Crucial P3 Plus 1TB NVMe M.2 SSD
PCIe 4.0, super fast
Big enough for the blockchain with room to grow
Installing the NVMe was ridiculously simple. One screw, pop it in, done in under 5 minutes.
Ubuntu Installation
I flirted with the idea of going full hipster and using NixOS (because reproducible builds sound cool), but then realized, I don’t need two steep learning curves at the same time. Ubuntu Server is boring, stable, and perfect for this.
Gotchas I Ran Into
Windows Hibernation: Ubuntu refused to mount the Windows partition until I turned off hibernation.
USB Network Adapter: Caused my install to hang. Yanked it out, plugged in Ethernet directly, smooth sailing.
Bitcoin Core Installation
Dependencies first (the usual dance):
sudo apt update
sudo apt install wget curl gnupg software-properties-common
Then Bitcoin Core itself via PPA (yes, I trust Luke-Jr’s PPA, you might prefer downloading binaries directly from bitcoin.org):
sudo add-apt-repository ppa:luke-jr/bitcoincore
sudo apt update
sudo apt install bitcoind
Configuration & Initial Sync
Here’s where it gets real. You’ll need a bitcoin.conf
file with all the goodies for Lightning support:
mkdir -p ~/.bitcoin
nano ~/.bitcoin/bitcoin.conf
Drop in something like this (with your own secure password):
server=1
daemon=1
rpcuser=bitcoinrpc
rpcpassword=$(openssl rand -hex 32)
zmqpubrawblock=tcp://127.0.0.1:28332
zmqpubrawtx=tcp://127.0.0.1:28333
txindex=1
dbcache=1000
maxconnections=40
maxuploadtarget=1000
Then fire it up:
bitcoind -daemon
Check progress with:
watch bitcoin-cli getblockchaininfo
This part will test your patience. Depending on your hardware and internet, you’ll be staring at a half-synced blockchain for days or even weeks. Think of it as a rite of passage.
Mainnet Reality Check
Storage: Full node = ~500GB (and growing). Pruned = ~50GB. I went full fat, but pruning is an option if you’re tight on space.
Sync Time: SSD required. Don’t even think about spinning disks. Seriously.
Next Steps
At this point, Bitcoin Core is chugging away in the background. Once it’s fully synced, we can move on to the Lightning side of things (Phase 2). That’s when the real fun begins, installing LND, opening channels, and turning this into a living, breathing Lightning node.
Resources
This is Phase 1 of my “DIY Node Admin” series. If you’ve been thinking about leaving Umbrel’s training wheels behind, I hope this gives you the confidence to do it too. Just remember, the blockchain waits for no one, so start that sync sooner rather than later.