-
Notifications
You must be signed in to change notification settings - Fork 704
Description
Hey everyone,This started as a pure educational project — I wanted to understand Bitcoin nodes, solo mining, hardware limits, and self-hosted pools from the ground up. I was fully aware the odds of actually finding a block are basically zip (lottery-level), but the goal was learning, not riches.HardwareRaspberry Pi 5
Dual Samsung 980 PRO 1 TB NVMe SSDs on PCIe HAT (2 TB raw)
BitAxe Gamma Duo (~2.5–2.94 TH/s)
7 NerdMiners (~1 MH/s each, ~7 GH/s total swarm)
SoftwareUmbrel OS (kernel 6.12.47+rpt-rpi-2712, Debian trixie snapshot ~Sept 2025)
Bitcoin Core node (30.0.0, ~69.65% synced, 10 peers, ~688 GB blockchain on first SSD)
Second SSD mounted at /mnt/ssd2 (~917 GB usable, 864 GB free)
Mining pool: solo.ckpool.org:3333 (public solo — local attempts failed)
What worked greatNode sync is fast on Pi 5 + NVMe SSDs — from ~7% to ~70% in a reasonable time.
BitAxe Gamma Duo is rock-solid: 2.60 TH/s real-time, 19.38 J/Th efficiency, temps ~60 °C (ASIC 1), fan ~69%, 50.3 W power.
NerdMiner swarm reliable.
Switched everything to solo.ckpool.org:3333:Wallet Address: bc1q254lpgr7xtxlea4xpyjtmzclq4sh6hsf7wuh7t.[UniqueWorkerName]
(e.g., .BitAxeGammaDuo, .NM-Bob2, .Nerd1)
Password: x (ignored)
solostats.ckpool.org shows real progress:Worker count: 2 (more coming as low-hash rigs submit)
Total shares: 11.78 M
Best share: 26.22 M (new personal best!)
Hashrate: 2.94 TH/s (5m), 2.46 TH/s (1hr)
1-year block odds: 0.012% (conservative — lottery, but real)
What didn’t work — the Docker nightmare (the real time sink)
I spent hours — literally hours — trying to set up a local CKPool (compiled from source) and Public Pool (manual Docker Compose clone) so I could have a private solo pool with no 2% fee. I tried again and again:Compile CKPool → paths wrong, binary not where expected, config JSON syntax errors
Switch to cookiefile auth → "Invalid config string or missing object for auth"
Switch to plain auth/pass → 401 Unauthorized from the node (Umbrel hides credentials)
Try Public Pool manual clone → docker compose up -d fails with "invalid proto" (no compose file in repo)
Try docker pull getumbrel/public-pool:latest → repository doesn't exist
Try sudo docker stop/start bitcoin_app_1 → "Cannot connect to the Docker daemon" over and over
Restart containerd → silent, no effect
Reboot → daemon still dead, socket missing (/var/run/docker.sock not found)
Check status → "active (running)" but no socket created
I repeated these steps dozens of times across reboots, power cycles, hard resets — always the same wall: Docker daemon refuses to cooperate. No ~/umbrel/scripts/app or restart scripts exist. No docker.service or containerd.service units controllable. After a power glitch/UPS click, it never recovered.Bottom line: My Umbrel build (Pi 5 edge version) has a broken containerd startup — it’s not the steps, it’s the environment. Others succeeded because they had newer/stable releases or never hit a glitch mid-setup.Current statusMining is live and working on public solo.ckpool.org (no local pool needed).
Node is syncing (~69.65%, 10 peers, 688 GB used).
Second SSD mounted at /mnt/ssd2 (~864 GB free).
No local pool — but solo is delivering real shares and odds.
Lessons learnedThis was always an educational project — fully aware chances are zip.
Learned node sync, solo vs shared, hardware limits, Linux/SSH basics, Docker/containerd quirks.
Persistence matters — even when software fights back.
Next stepsKeep rigs hashing on solo.ckpool.org (add unique worker names for better solostats visibility).
Monitor solostats.ckpool.org (shares climbing fast, new best-diff 26.22 M).
If I want local/private pool later: re-flash Umbrel to latest stable image (clean install, boot from SSD) — fixes containerd quirks in many cases.
If you're setting up solo mining on Pi 5 + Umbrel:Skip local pool for now — solo.ckpool.org is simple and works.
Use unique worker names on each rig (.RigName) — makes stats page useful.
Dual NVMe SSDs are awesome — mount the second one manually for extra space.
Happy to answer questions or share more details (config, solostats screenshots, etc.).