Your Bitcoin Stack,
One Command Away.
Deploy a full Bitcoin and Lightning node with a single command. No OS to install, no dependencies to manage.
Your keys, your node, your sovereignty.
Full setup with just Enter — sensible defaults handle the rest
How It Works
From zero to a running node in four steps.
Install
One command, Docker does the rest.
Press Enter
Just press Enter or customize with the wizard.
Sync
Bitcoin Core downloads the blockchain, Electrs indexes it.
Connect
Link Zeus, Electrum, or use RTL from the browser.
$ curl -sSL .../install.sh | bash
Cloning awning...
Checking prerequisites... OK
Detecting architecture... x86_64
Fetching latest versions... done
Press Enter for defaults, or w for wizard:
↵ Enter
Generating credentials... done
Writing config... done
Building images... done
Starting services... done
Creating wallet... done
Your node is running.
Just Press Enter.
Sensible defaults configure everything. Passwords, networking, security — all handled automatically. Customize later if you need to.
x86_64 or ARM64, no manual selection
Bitcoin Core, LND, Electrs — pulled from GitHub at install time
High-entropy passwords for RPC, Tor, RTL, and LND wallet
All P2P traffic through Tor with v3 hidden services
Dropped capabilities, no-new-privileges, memory limits
24-word seed generated and displayed — write it down
Truly Portable
Your entire node lives in one directory. Move it anywhere Docker runs.
One Directory
All state — blockchain data, wallet, configs, Tor keys, channel backups — lives under the awning/ directory. Nothing is scattered across your filesystem.
Copy and Go
Copy the directory to an external drive or to another Linux machine. No reinstallation, no migration scripts — just run the setup to auto-detect the new architecture, and you’re good to go.
Docker is the Only Requirement
The target machine only needs Docker installed. No Python, Node.js, Go, or other runtimes. Works on x86_64 and ARM64, including Raspberry Pi.
# Stop the node on the source machine
$ ./awning.sh stop
# Copy to an external drive
$ cp -a awning/ /mnt/external/awning/
# Setup on the new machine — only Docker needed
$ cd /mnt/external/awning && ./awning.sh setup
Blockchain data, wallet, channels, Tor hidden services — everything moves together.
The Full Stack
Six services, one command. Everything orchestrated through Docker Compose.
Core
Infrastructure
Selectable Service Versions
Each service version can be selected in configuration, so you can pin known-good releases or upgrade progressively. Compose-based orchestration keeps upgrades and rollbacks predictable.
Why Awning?
A complete Bitcoin + Lightning stack with the simplicity of a single script.
Single Dependency
Only Docker is required. No dedicated OS to install, no Python, Node.js, or Go runtimes. Runs on your existing Linux.
Portable
Entire stack lives in one directory. Copy it to an external drive or another machine — no reinstallation needed.
Secure by Default
All traffic through Tor, auto-generated credentials, GPG-verified binaries, hardened containers with dropped capabilities.
Transparent
Readable shell scripts and Docker Compose under MIT license. No compiled binaries, no proprietary code, no hidden abstractions.
TUI-First
Interactive terminal interface with keyboard navigation, status dashboard, and guided setup wizard. Smaller attack surface.
Lightning-Ready
Full LND node with Zeus wallet connection, Electrum server, RTL web UI, and optional automated channel backups to GitHub.
Who is Awning for?
Whether you're a first-time node runner or a seasoned sysadmin, Awning fits your workflow.
Bitcoiner
Using someone else's node? With Awning you get your own verified full node.
Ex-Umbrel / myNode User
Want to understand what runs on your node? Awning is 100% readable shell scripts, no hidden binaries.
Sysadmin / Developer
Docker, Compose, no magic. Fork it, customize it, contribute.
Secure by Default
Defense in depth. Every layer is locked down out of the box — no configuration required.
All traffic routed through Tor
Services on isolated Docker bridge networks. Bitcoin and LND P2P traffic goes through Tor. LND and Electrs bind to localhost; RTL binds to LAN for local access.
Passwords are never reused or predictable
RPC, Tor, and RTL passwords auto-generated with high entropy. Sensitive files restricted to owner-only access.
Every binary is cryptographically verified
Bitcoin Core and LND binaries GPG-verified during Docker build. lndconnect SHA256-verified. No trust in download mirrors.
Containers run with minimal privileges
All capabilities dropped, privilege escalation blocked, memory and CPU limits enforced. Log rotation prevents disk exhaustion.
Safe against concurrent execution
A lock file prevents multiple instances from running simultaneously, protecting against config corruption.
Bad configuration never reaches Docker
All settings validated at startup — invalid ports, architectures, or UIDs are caught before any container starts.
FAQ
Quick answers to common questions.
Is Awning suitable for beginners?
Yes. The first run launches a guided TUI wizard that walks you through configuration step by step. Defaults are safe and sane — you can press Enter to accept all of them and refine later.
What hardware do I need?
Any Linux machine (x86_64 or ARM64) with at least 8 GB of RAM and 1+ TB of storage. A Raspberry Pi 5 with an external SSD works well. The default resource limits are tuned for that configuration.
Can I connect my existing wallet?
Yes. Electrs exposes an Electrum-compatible server on port 50002 (SSL) so any Electrum-compatible wallet can verify transactions against your own node. For Lightning, Zeus wallet connects via the REST API — run ./awning.sh zeus-connect to generate a QR code.
Can I try Awning without downloading the full blockchain first?
git clone https://github.com/giovantenne/awning.gitcd awning./awning.sh --ignore-disk-spaceImportant: stop the node before the disk fills up, otherwise services may fail or data can become inconsistent. Also note that services like LND and Electrum cannot be enabled until the blockchain is fully downloaded on a sufficiently large disk.
How long does the initial sync take?
How do I back up my node?
Can I choose which versions of Bitcoin Core, LND, and Electrs to run?
How do I update Awning or the services?
Something is not working — how do I troubleshoot?
Get Started
Three steps. One dependency: Docker.
Quick install
Clone and start your node with a single command. The script checks for Docker, clones the repository, and runs the setup — just press Enter to accept the sensible defaults. Passwords, Tor routing, and container security are configured automatically.
Prefer to inspect before running? Read the script first.
Clone
Run
Press Enter to accept sensible defaults, or type w for the advanced wizard.
Done
Monitor sync progress and manage your node from the TUI.
Requirements
- Docker — the only runtime dependency
- x86_64 or ARM64 — including Raspberry Pi 5
- 1+ TB storage — for the full blockchain
- 8 GB RAM — recommended minimum
CLI Commands
./awning.sh Interactive menu (or auto-setup on first run) ./awning.sh start|stop Start or stop all services ./awning.sh restart Recreate all containers with updated config ./awning.sh status Dashboard with sync progress ./awning.sh logs [service] Follow service logs (all or specific) ./awning.sh connections Tor addresses, LND connect URIs ./awning.sh zeus-connect Generate Zeus wallet QR code ./awning.sh bitcoin-cli ... Run bitcoin-cli commands ./awning.sh lncli ... Run lncli commands