Docker-based single-container package featuring:
- Bitcoin Core: Pruned by default with optional trusted fast-sync
- Electrum Server: Personal Electrum server powered by BWT
- BTC RPC Explorer: Personal block explorer and node dashboard
- Specter Desktop: Wallet GUI for hardware and multi-sig setups
- Secure remote access using Tor Onion SSH tunnels or SSL
Why eznode?
- Simple one command setup
- Lightweight (120 MB docker image)
- Pruning-friendly (requires <5GB of storage)
- Suitable for a dedicated box, but doesn't require one
- Supports Linux, macOS, Windows and ARMv7/v8
Support development: ⚡ lightning or ⛓️ on-chain via BTCPay
Website: ezno.de
Install Docker (the only dependency) and start eznode with the data directory mounted to /data
:
docker run -it --rm --name ez -v ~/eznode:/data jaonoctus/eznode TOR=1 XPUB=<xpub>
This will setup a pruned Bitcoin Core full node, a personal Electrum server tracking your <xpub>
, a block explorer and a Tor onion service for secure remote access. All the information you need for accessing them will be shown on startup.
You can skip setting an XPUB
if you're not using the Electrum server.
Change ~/eznode
if you'd like to store the node's data files elsewhere. On Windows, you can use $env:AppData\eznode
to store them in C:\Users\<USER>\AppData\Roaming
. They require ~4.8GB of free space.
On Windows/macOS, you'll need to publish the ports with -p
to access them locally.
Set TRUSTED_FASTSYNC=1
to enable the trusted fast-sync mode. You should carefully consider the implications and avoid this if possible.
To enable Specter Desktop, set SPECTER=1
.
To experiment on signet, set NETWORK=signet
.
Signature verification instructions are available here.
The full user guide is available at https://ezno.de.
- ⭐ Getting started
- 👩💻 Accessing the services
- 🎁 Packages
- 🛡️ Secure transports
- 🔧 Node management
- 🔏 Signed images
- 🏗️ Building locally
Contributions are welcome!
eznode manages services using the (fantastic!) s6
init/supervision system (via s6-overlay
). Refer to specter
for an example of a simple service package and to the s6 docs for more information on writing services.
MIT