Passionate about Bitcoin and convinced that education is the key, I wish to share with you the little knowledge I have and thus contribute to the adoption of Bitcoin. Otherwise, I'm a big fan of Pink Floyd, I'm learning to code, and I make memes. Looking forward to meeting you at the next meet-up! I am the creator of the training course BTC 205 - Non-KYC Purchase Solution.
What is LNbits?
Key features
Supported platforms
Installation on Ubuntu VPS with Phoenixd
Step 1: Securing the VPS server
Step 2: Installing Phoenixd
./phoenix-cli getinfo), make a note of the HTTP password in ~/.phoenix/phoenix.conf - you'll need it to connect LNbits to Phoenixd.LNbits deployment
curl -LsSf https://astral.sh/uv/install.sh | sh export PATH="$HOME/.local/bin:$PATH" git clone https://github.com/lnbits/lnbits.git && cd lnbits uv sync --all-extras
cp .env.example .env && nano .env
.env :LNBITS_BACKEND_WALLET_CLASS=PhoenixdWallet PHOENIXD_API_ENDPOINT=http://127.0.0.1:9740 PHOENIXD_API_PASSWORD=<mot-de-passe-phoenix.conf>
uv run lnbits --host 0.0.0.0 --port 5000 then create a systemd service with Wants=phoenixd.service.Initial setup and first use
SuperUser activation
.env :LNBITS_ADMIN_UI=true
sudo systemctl restart lnbits) and retrieve the SuperUser ID:cat ~/lnbits/data/.super_user
http://<IP-VPS>:5000/wallet?usr=<SuperUserID> for the administration panel. The "Server" menu lets you configure funding sources, extensions and user accounts.Secure account creation
- You must disable** the "Allow creation of new users" option
- Without this protection, anyone on the Internet can create an account on your instance
- An attacker could create accounts and use the liquidity of your Lightning node without your knowledge
- You'll need to create user accounts manually from the SuperUser interface
- This option is less critical if your instance is only accessible locally (http://localhost:5000)
- However, disabling this option is a good general safety practice
Opening the first channel
./phoenix-cli getinfo. Then consider disabling auto-liquidity (auto-liquidity=off in phoenix.conf) to control channel openings.Public display and HTTPS
sudo apt install -y caddy, edit /etc/caddy/Caddyfile :votre-domaine.com { reverse_proxy 127.0.0.1:5000 }
sudo systemctl restart caddy.nginx certbot python3-certbot-nginx, create /etc/nginx/sites-available/lnbits :server { listen 80; server_name votre-domaine.com; location / { proxy_pass http://127.0.0.1:5000; proxy_set_header Host $host; proxy_set_header X-Forwarded-Proto $scheme; } }
sudo ln -s /etc/nginx/sites-available/lnbits /etc/nginx/sites-enabled/ && sudo nginx -t && sudo systemctl reload nginx && sudo certbot --nginx -d your-domain.com.env: FORWARDED_ALLOW_IPS=*Umbrel installation
Deployment from the App Store
Initial SuperUser configuration
Access to administrator interface
- Funding Source** : LndBtcRestWallet (direct connection to your LND Umbrel node)
- Node Balance** : Total liquidity available in your Lightning channels
- LNbits Balance**: Funds allocated to the LNbits system (initially 0 sats)
User management
- Username**: Login username (example: "satoshi")
- Set Password**: Activate this option to set an authentication password
- Password** and Password repeat: Set the password for this user
User wallet management
User login
Interface from wallet user
- Current balance**: Displayed in sats and in the chosen currency (CUC in this example)
- Main actions**: PASTE REQUEST, CREATE INVOICE, QR icon (quick scan)
- Transaction history** : Complete list of all payments and receipts
- Right side panel**: Configuration and access options
Mobile access to wallet
- Download Zeus or BlueWallet from App Store or Google Play
- Activate the LndHub extension in LNbits for this wallet
- Scan the LndHub QR code with the mobile app to connect the wallet
- The QR code displayed in "Export to Phone with QR Code" contains the full URL of the wallet with integrated authentication
- Scan this QR code from your smartphone to open wallet directly in your mobile browser
- Add page to home screen for quick access
User access sharing
- On your local network** : Members of your household connected to the same WiFi/Ethernet network can access the instance
- Via VPN**: If you use a VPN such as Tailscale configured on your Umbrel server, authorized users can gain secure remote access
Explore available extensions
- Jukebox**: sats-powered jukebox system (Spotify payments)
- Support Tickets**: Paid support system (receive satss to answer questions)
- TPoS**: Secure, mobile point-of-sale terminal for retailers
- User Manager**: advanced user and wallet management (which we've just used)
- Events**: Sale and validation of event tickets
- LNURLDevices**: Point-of-sale management, ATMs, connected switches
- SMTP**: Enable users to send emails and earn satss
- Boltcards**: Programming NFC cards for Lightning tap-to-pay payments
- NostrNip5**: Create NIP5 addresses for your domains
- Splitpayments**: Automatic distribution of payments between multiple wallets
Advantages and limitations
Best practices
- On Umbrel**: App Store automatically notifies you of new versions. Synchronize extensions via "Manage Extensions" > "Update All". Check SQLite database inclusion in Umbrel automatic backups.
- On VPS**: Update manually with
cd lnbits && git pull && uv sync --all-extras && sudo systemctl restart lnbits. Monitor system logs:sudo journalctl -u lnbits -f.
Conclusion
Resources
Official documentation
Community guides
- Initial Ubuntu server configuration by Daniel P. Costas (step-by-step VPS security)
- LNbits + Phoenixd installation on Ubuntu VPS by Daniel P. Costas (complete guide)
- LNbits Server on Clearnet by Axel
- LNbits on VPS by Hannes
Author
This tutorial has been written by Pierre
You can say thanks by tipping the professor.
Credits
This tutorial has not been proofread yet
The original content has been translated by AI, but human review is necessary to ensure its accuracy.
3 760 sats1 880 sats940 satsEvery content on the platform is the result of a collaborative effort: each lesson, translation, and revision is made possible by the work of contributors. For this reason, we are always looking for proofreaders who can review our content in many languages. If you want to participate in the proofreading process, please reach out in our Telegram group and read our tutorial. We remind you that this content is open-source - licensed under CC BY-SA - so it can be freely shared and used, as long as the original source is credited.




