Public Docker image: bmmbmm01/bitcoinknotsgui
Release: 29.4.3.knots20260508
Architecture: linux/amd64
Web interface: HTTPS on port 5800
Run the Bitcoin Knots Qt desktop inside Docker and view it through your browser using the jlesage GUI base image. Bitcoin Knots provides a self-verified full node and wallet interface, including its own transaction relay/mempool policy options. Filtering mempool traffic does not remove confirmed transactions from blockchain storage.
Status: The
29.4.3.knots20260508andlatestimages were pushed successfully on October 31, 2026. Both returned manifest digestsha256:f4a6b8d52c8d2d723c796a18f0afa2dce7a22db7e86b5bb1ba4c5f3cc2484ca5. The Qt browser GUI, HTTPS login, editor and blockchain synchronization were exercised during development. This is a community-maintained image, not an official Bitcoin Knots image. Test your own deployment and backups before placing funds at risk.
Pull a versioned image:
docker pull bmmbmm01/bitcoinknotsgui:29.4.3.knots20260508
Create persistent storage for configuration and block files. Use real paths for your server; mount your dedicated SSD before starting Docker. For an Unraid example:
mkdir -p /mnt/user/appdata/bitcoin-gui
# Make sure the intended SSD is actually mounted at /mnt/disks/bitcoin-blockchain
Keep credentials in a host-only environment file such as /root/bitcoin-gui.env (restrict it with chmod 600):
USER_ID=99
GROUP_ID=100
SECURE_CONNECTION=1
WEB_AUTHENTICATION=1
WEB_AUTHENTICATION_USERNAME=bitcoin
WEB_AUTHENTICATION_PASSWORD=CHANGE_TO_A_LONG_UNIQUE_PASSWORD
BITCOIN_PROFILE=standalone
BITCOIN_BLOCKSDIR=/blockchain
Then start the container:
docker run -d \
--name bitcoin-knots-gui \
--restart unless-stopped \
--stop-timeout 180 \
--env-file /root/bitcoin-gui.env \
-p 5800:5800 \
-v /mnt/user/appdata/bitcoin-gui:/config \
-v /mnt/disks/bitcoin-blockchain:/blockchain \
bmmbmm01/bitcoinknotsgui:29.4.3.knots20260508
Open https://YOUR-SERVER-IP:5800 from a trusted LAN or VPN. The generated TLS certificate may initially produce a browser warning; configure trusted TLS for wider internal use. Never expose the GUI directly to the public Internet. You can use a named volume for /config instead, but make sure backups include wallet and GUI configuration.
For generic Debian/Linux, choose host paths and USER_ID/GROUP_ID matching the actual account permissions; the Unraid IDs are examples only. Do not use recursive chmod 777.
On the first launch, when /config/.bitcoin/bitcoin.conf is missing or empty, the container seeds a readable bitcoin.conf file. The Open Configuration File button in Bitcoin Knots Qt opens it in a graphical text editor.
The generated file is not overwritten if it already contains settings. Changing environment variables later will not silently replace your custom configuration. Edit the file and restart the application to apply most changes.
| Environment variable | Default | Function |
|---|---|---|
BITCOIN_PROFILE | standalone | standalone or lightning, for first-run seeding |
BITCOIN_BLOCKSDIR | unset | Set /blockchain for block files on a separate mounted SSD |
BITCOIN_RPC_BIND | unset | Optional Lightning RPC binding, 127.0.0.1 or 0.0.0.0 |
BITCOIN_RPC_ALLOWIP | unset | Trusted RPC client network/CIDR when RPC bind is provided |
BITCOIN_ZMQ_BIND | 127.0.0.1 | ZMQ binding for block and transaction notifications |
Standalone profile (default):
prune=0
server=0
Lightning-ready profile (BITCOIN_PROFILE=lightning on a fresh config):
prune=0
server=1
txindex=1
zmqpubrawblock=tcp://127.0.0.1:28332
zmqpubrawtx=tcp://127.0.0.1:28333
This prepares a full archival node for potential LND, Core Lightning or other integrations, but does not install a Lightning daemon, provide RPC credentials, or automatically connect other containers. Modern Lightning implementations have different requirements; consult their documentation.
The 127.0.0.1 ZMQ endpoints are inside this container. A Lightning node in another container needs deliberately configured private networking, corresponding RPC credentials or secure cookie access, and compatible RPC/ZMQ bind addresses. RPC 8332, ZMQ 28332/28333, and native VNC 5900 are not published by the quick-start command. Do not publish them to your LAN or the Internet without carefully planning isolation and access controls.
Do not add daemon=1: bitcoin-qt must stay in the foreground under the container supervisor. There is no startup AUTOUPDATE; use versioned Docker tags and upgrade intentionally.
| Container path | Stored data |
|---|---|
/config/.bitcoin | bitcoin.conf, wallets, chainstate, indexes, RPC cookie and node data |
/config/xdg/config | Qt / GUI desktop configuration |
/blockchain | Optional externally mounted blocks directory when BITCOIN_BLOCKSDIR=/blockchain was selected |
An unpruned full node requires hundreds of GB for the chain, with continuing growth. A dedicated 2 TB SSD provides room for current synchronization and future growth, but check capacity and wear over time. With a separate blocks directory, chainstate and wallet files remain on /config, so that volume also needs adequate space and backups.
Wallet keys and recovery information are irreplaceable; blockchain blocks can be resynced. Use secure encrypted offline backups and, for meaningful holdings, prefer offline or hardware-based signing. This image must never include private keys or seed words.
5800 with HTTPS, authentication, and LAN/VPN-only firewall rules. A public Docker Hub repository does not mean a public-facing wallet login.bitcoin.conf containing secrets, wallet files, RPC cookies, credentials or recovery phrases to source control or bake them into images.docker stop -t 180 bitcoin-knots-gui before disconnecting storage or making offline filesystem copies.The container project is MIT-licensed. Bitcoin Knots and the jlesage base image are separate upstream projects with their own licenses and credits. This independently maintained image is not endorsed or distributed by Bitcoin Knots developers.
Content type
Image
Digest
sha256:f4a6b8d52…
Size
247.4 MB
Last updated
5 days ago
docker pull bmmbmm01/bitcoinknotsgui