
With this guide, you can set up a Bitcoin, Lightning node, and other stuff on a personal computer, doing everything yourself. You will learn about Linux, Bitcoin, Lightning, and much more.

There are many reasons why you should run your own Bitcoin node:
👥 Keep Bitcoin decentralized: use your node to help enforce your Bitcoin consensus rules.
🗽 Take back your sovereignty: let your node validate your Bitcoin transactions. No need to ask someone else to tell you what's happening in the Bitcoin network.
🥷🏽 Improve your privacy: connect your wallets to your node so you no longer need to reveal your financial history to external servers.
⚡️ Be part of Lightning: run your Lightning node for everyday payments and help build a robust and decentralized Lightning network.
This guide explains setting up your Bitcoin node on a personal computer. However, it works on most hardware platforms because it only uses standard Debian-based Linux commands.
Your Bitcoin node will offer the following functionality:
🟠 Bitcoin: direct and trustless participation in the Bitcoin peer-to-peer network, full validation of blocks and transactions.
⚛️ Electrum server: connect your compatible wallets (including hardware wallets) to your node.
⛓️ Blockchain Explorer: web-based Explorer to privately look up transactions, blocks, and more.
⚡ Lightning: full client with stable long-term channels and web-based and mobile-based management interfaces.
🔋 Always on: services are constantly synced and available 24/7.
🌐 Reachable from anywhere: connect to all your services through the Tor network and Wireguard VPN.
We aim to keep the core of this guide well-maintained and up-to-date:
| 🖥️ System | Prepare the hardware and set up the operating system | operating-system.md | remote-access.md | system | operating-system.gif | ||||
| 🟠 ₿itcoin | Sync your own Bitcoin full node, Electrum server, Blockchain Explorer, and connect a desktop wallet to the Electrum server | electrum-server.md | blockchain-explorer.md | bitcoin | core_logo.png | ||||
| ⚡ Lightning | Run your Lightning client with web-based node management, connect a mobile app, and save safely your SCB backup | channel-backup.md | web-app.md | lightning | lightning-network-daemon-logo.png | ||||
| ➕ Bonus guide | The bonus section contains more specific guides that build on top of the main section. More fun, lots of knowledge, but with lesser maintenance guarantees. Everything is optional. | system | bitcoin | nostr | security | networking | broken-reference | bonus-logo.png |
| 👥 RRSS 👥 | ||
| 🛠️ GitHub 🛠️ |
{% hint style="info" %}
Feel free to join the many other contributors if you see something that can be improved!
{% tabs %}
{% tab title="Nostr relay" %}
{% hint style="info" %}
Use a Nostr client to connect
wss://relay.minibolt.info
ws://xib7qeea6f5nz3ueko4kwcsddpvggdray4nhagcvofbioot3n2qrapid.onion
{% tab title="Electrum server" %}
{% hint style="info" %}
Use a signing app (Sparrow Wallet or Electrum Wallet desktop) to connect
tcp://vr4bgiwqlhuweftttc6bj7lm5ijjyafwsr43nmeiu3k4mcgtl4tpozyd.onion:50001
tcp://bnfpvanrc2g7r5o5kaabbbyjv6ddh46jmasfatrvbbsvjb7cdik5n7ad.onion:40001
ssl://bnfpvanrc2g7r5o5kaabbbyjv6ddh46jmasfatrvbbsvjb7cdik5n7ad.onion:40002
http://rzcj4r2p6wterkto5prigsplq6iva5bqhcxr7y3d6w4hoc3uwizpp5qd.onion
👉 CLICK to access: https://keyserver.minibolt.info 👈
http://fr2bbk7gitvpielymw7jmbkmm7glrzs2avxyxsh3rqbszkwavmqkklid.onion
All guides are rated with labels to help you assess their difficulty and whether they are tested against the most recent version of the main guide.
{% hint style="success" %}
Difficulty: Easy
{% hint style="warning" %}
Difficulty: Medium
{% hint style="danger" %}
Difficulty: Hard
{% hint style="warning" %}
Cost: Paid service
| Port | Protocol | Use |
|---|---|---|
| 🖥️ SYSTEM | ||
| 22 | TCP | Default SSH server |
| 9050 | TCP | Default Tor SOCKS |
| 9051 | TCP | Default Tor control |
| 7656 | TCP | Default I2P SAM proxy |
| 7070 | TCP | Default I2Pd web console HTTP |
| 7071 | SSL | I2Pd web console HTTPS |
| 🟠 ₿ITCOIN | ||
| 8332 | TCP | Default Bitcoin Core RPC |
| 8333 | TCP | Default Bitcoin Core P2P |
| 8334 | TCP | Default Bitcoin Core P2P Tor |
| 50001 | TCP | Fulcrum TCP |
| 50002 | SSL | Fulcrum SSL |
| 8000 | TCP | Fulcrum Admin |
| 3002 | TCP | Default BTC RPC Explorer HTTP |
| 4000 | SSL | BTC RPC Explorer HTTPS |
| ⚡ LIGHTNING | ||
| 9735 | TCP | Default LND P2P |
| 10009 | TCP | Default LND gRPC |
| 9911 | TCP | Default LND Watchtower server |
| 3000 | TCP | Default ThunderHub HTTP |
| 4002 | SSL | ThunderHub HTTPS |
| 8080 | TCP | LND REST |
| ➕ BONUS GUIDES | ||
| 5432 | TCP | Default PostgreSQL relational DB |
| 51820 | UDP | Default WireGuard VPN |
| Random | TCP | Random Cloudflared |
| <TODO1> | TCP | obfs4 bridge OR port |
| <TODO2> | TCP | obfs4 port |
| 9001 | TCP | OR port Guard/Middle relay |
| 9052 | TCP | Tor obfs4 bridge control port |
| 9053 | TCP | Tor Guard/Middle relay control port |
| 50021 | TCP | Electrs TCP |
| 50022 | SSL | Electrs SSL |
| 48333 | TCP | Default Bitcoin Core P2P Testnet4 |
| 48334 | TCP | Default Bitcoin Core P2P Testnet4 Tor secondary |
| 48332 | TCP | Default Bitcoin Core RPC Testnet4 |
| 40001 | TCP | Fulcrum Testnet4 TCP |
| 40002 | SSL | Fulcrum Testnet4 SSL |
| 40021 | TCP | Electrs Testnet4 TCP |
| 40022 | SSL | Electrs Testnet4 SSL |
| 24444 | TCP | Default NBXplorer |
| 23000 | TCP | Default BTCPay Server |
| 8880 | TCP | Default Nostr relay |
| 8090 | TCP | Default Alby Hub HTTP |
| 3003 | SSL | Alby Hub HTTPS |
| 4040 | TCP | Public Pool HTTPS |
| 23333 | TCP | Default Public Pool API |
| 23334 | TCP | Default Stratum |