Get Started
Pick the install path that matches your setup — Docker, from source, Fly.io, or a managed Voltage node.
ThunderHub runs anywhere you can run a Node.js 24 process or a Docker container. Pick the path that fits your environment:
| Path | When to use it |
|---|---|
| Docker | Recommended for most users. Self-contained image, mounts your YAML + macaroon, no Node install. |
| From source | Contributors, or environments where Docker isn't available. Builds the NestJS server and the React client locally. |
| Fly.io | One-machine cloud deploy with a public HTTPS URL. Uses the repo's fly.toml, persistent volume, and DB_ENCRYPTION_KEY for at-rest credential encryption. |
| Voltage | You already run a Lightning node on Voltage and want full Taproot Assets support beyond the bundled ThunderHub. |
After ThunderHub is running, head to Accounts to wire it up to your node.
Using an AI coding agent? Drop the ready-made
AGENTS.md into your ThunderHub repo root and any
agent (Claude Code, Cursor, Copilot, etc.) gets full setup context for free.
Requirements at a glance
- Node.js 24+ if you build from source. Docker users don't need Node locally.
- A reachable LND or litd node (mainnet, testnet, mutinynet, or your own regtest dev environment).
- For Docker on macOS or Windows: use
host.docker.internalto reach a node running on the host. On Linux: use the host's LAN IP or--network=host.
Update policy
Docker users pull a new image and recreate the container. Source users run npm run update (or git pull && npm install && npm run build). Fly.io users git pull && fly deploy. None of these wipe your data — YAML accounts and the SQLite/Postgres database persist across updates.
Introduction
ThunderHub is an open-source web manager for Lightning Network nodes — connect to LND or Lightning Terminal (litd) and manage channels, payments, Taproot Assets, and trading from one interface.
Docker
Run ThunderHub from the official Docker image with a YAML config or a database for multi-user setups.