Auto-Install Extensions
Pre-configure extensions to install automatically when LNbits starts - useful for Docker, automated deployments, and managed instances.
Auto-install lets you specify which extensions should be installed automatically when LNbits starts. This is essential for reproducible deployments where you want a consistent set of extensions.
Configuration
LNBITS_EXTENSIONS_DEFAULT_INSTALL=tpos,lnurlp,satspay,withdrawComma-separated list of extension IDs. On startup, LNbits will:
- Check if each listed extension is already installed
- Download and install any that are missing
- Run database migrations
- Make them available for activation
Re-install behavior
If an auto-install extension is uninstalled by an admin, it will be reinstalled on the next restart. This ensures the configured extensions are always present.
To permanently remove an auto-installed extension, remove it from LNBITS_EXTENSIONS_DEFAULT_INSTALL before uninstalling.
Docker example
services:
lnbits:
image: lnbits/lnbits:latest
restart: unless-stopped
environment:
- LNBITS_BACKEND_WALLET_CLASS=FakeWallet
- LNBITS_ADMIN_UI=true
- LNBITS_EXTENSIONS_DEFAULT_INSTALL=tpos,lnurlp,satspay,withdraw,boltz
volumes:
- ./data:/app/data
- ./.env:/app/.env
ports:
- "5000:5000"Docker Compose with custom manifest
Combine auto-install with a custom manifest for full control:
services:
lnbits:
image: lnbits/lnbits:latest
environment:
- LNBITS_EXTENSIONS_MANIFESTS=["https://your-company.com/manifest.json"]
- LNBITS_EXTENSIONS_DEFAULT_INSTALL=tpos,lnurlp,custom_extDefault extensions for new users
Separate from auto-install, you can configure which extensions are enabled by default for new users:
# Auto-install (instance-level: ensures extensions are downloaded)
LNBITS_EXTENSIONS_DEFAULT_INSTALL=tpos,lnurlp,withdraw
# User defaults (user-level: enables extensions in new user dashboards)
LNBITS_USER_DEFAULT_EXTENSIONS=tpos,lnurlpBoth settings work together:
LNBITS_EXTENSIONS_DEFAULT_INSTALLensures the extensions are installed on the instanceLNBITS_USER_DEFAULT_EXTENSIONSensures they are enabled for new users
Use cases
| Scenario | Configuration |
|---|---|
| Merchant POS deployment | LNBITS_EXTENSIONS_DEFAULT_INSTALL=tpos,lnurlp |
| Developer testing | LNBITS_EXTENSIONS_DEFAULT_INSTALL=decoder,nwcprovider |
| Full-featured instance | LNBITS_EXTENSIONS_DEFAULT_INSTALL=tpos,lnurlp,withdraw,satspay,boltz |
| Managed SaaS | Custom manifest + auto-install + user defaults |
Related Pages
- Deploying Extensions - all deployment methods
- Custom Marketplace - curate your own extension list
- Using Extensions - user-facing extension management
- Reference - all environment variables