Install Plumb on Umbrel
Plumb is an app in Leo Haf's Misc community app store. It is Leo's Bitcoin Knots app with the signed Plumb release inside, and it runs as its own node beside the Bitcoin Node and Bitcoin Knots apps.
Before you start
- Disk. Plumb downloads and keeps its own copy of the chain, even if the Bitcoin Node or Bitcoin Knots app already has one. If you are short on space, once Plumb is installed set Prune Old Blocks on the Optimization tab of its Settings to how many GB of blocks to keep; the default, 0, keeps them all. Electrs needs the full chain, so leave it at 0 if you plan to use Electrs.
- Hardware. The app is built for x86 (Intel or AMD) and for ARM (Raspberry Pi). Its image has been run outside umbrelOS on x86, and on ARM under emulation; it has not been tested on a Raspberry Pi. If you run it on one, say how it went (see If something goes wrong).
- umbrelOS. These steps match umbrelOS 1.7.4 and 2.0.0.
Install
- Open the App Store on your Umbrel.
- Click the button with three dots next to the search box, then Community App Stores. On umbrelOS 2.0, once you have added a community store, Community App Stores opens a short menu: choose Manage.
- If Misc is already in your list of added stores, skip to step 4. Older guides give its address as
github.com/Retropex/Bitcoin-store, some with.giton the end; that is the same store and already lists Plumb, and on umbrelOS 2.0 adding it a second time blocks installs and updates of its apps. If Misc is not listed, paste this address into the box and click Add:
Umbrel warns that it does not check community stores. This one is Leo Haf's; he also maintains the Bitcoin Knots app in the Umbrel App Store.https://github.com/Horizon-btc/Bitcoin-store - The store shows up as Misc (Misc Community App Store on umbrelOS 1.7). Click Open next to it.
- Click Plumb, then Install. The search box on the main App Store page does not search community stores, so look for Plumb on the Misc page.
- When it finishes, open Plumb from your home screen. The first start downloads and checks the whole chain, and the dashboard shows how far along it is.
To let other nodes connect to yours, forward TCP port 10333 on your router to your Umbrel. Plumb works without it.
Check that it is Plumb
In the Plumb app, click Settings (next to Home and Insights) and choose the Policy tab. Plumb's five filters are switches there, all on: Reject fake output hashes and keys, Reject data in dead conditional branches, Reject bare data envelopes, Reject fake multisig keys, and Reject token messages. A fresh install starts with Max Allowed Size of Arbitrary Data in Transactions at 42 and Datacarrier cost at 2, the values cesspool.lol/check recommends.
cesspool.lol/check also recommends bytespersigopstrict=51, which has no switch. On the Advanced tab, add that line to Custom bitcoin.conf overrides and click Save overrides; Plumb restarts with it.
cesspool.lol/check can also read the node's own startup lines. Open a terminal (Settings, Advanced settings, Terminal, then umbrelOS; or log in over SSH), run this, and paste the output into the checker there:
grep -E "Bitcoin (Knots|Core) version|Using data directory|Plumb filter|arg: (\[[a-z0-9]+\] )?(corepolicy|reject|datacarrier|acceptnonstd|permitbare|maxscriptsize|bytespersigopstrict)" ~/umbrel/app-data/btc-plumb/data/bitcoin/debug.log
Apps that need a Bitcoin node
When Umbrel tested the fork on regtest, the Core Lightning app from the Umbrel App Store went into a restart loop, Electrs stopped answering and Lightning Node stopped reporting itself as synced (umbrel-apps#6047). Do not connect those apps to Plumb.
The Misc store has its own Electrs, Core Lightning and DATUM apps for blocks from 961640 on. When you install one, Umbrel shows which app it will use for Bitcoin. Make sure it says Plumb.
Updates and uninstalling
When a new Plumb release reaches the Misc store, the App Store offers an update for Plumb. Updating keeps the chain and your settings.
Uninstalling Plumb deletes its data, including its copy of the chain.
If something goes wrong
- No Plumb in the store. Check that the store you added is exactly the address above, or the older
github.com/Retropex/Bitcoin-store. The plumb-node repositories on GitHub hold Plumb's code, not an app store. - "This app ID conflicts with another app store." Leo's store is added twice, once under each address, and until you fix it, apps from that store, such as its Bitcoin Knots app, drop out of the Updates list and their Update buttons are disabled. In the App Store, click the three dots, then Community App Stores, then Manage, and remove one of the two entries; either one fixes it.
- The install fails (on umbrelOS 2.0 with "Command failed with exit code 1"). Open Settings, Troubleshoot, umbrelOS, and read the lines from when you clicked Install. "port is already allocated", "is already used" or "Address already in use" means another app on your Umbrel already has one of Plumb's ports (2114, 10332, 10333) or addresses (10.21.21.110, 10.21.22.110, 10.21.22.111).
- Plumb installs but does not start or sync. Open Settings, Troubleshoot, App, and choose Plumb to see its log.
- Still stuck. Ask in the Bitcoin Education Hub Discord or open an issue at github.com/plumb-node/plumb. Include your hardware, your umbrelOS version, the other apps you run, the exact error and the log lines around it.