Skip to content

Instantly share code, notes, and snippets.

@mu373
Last active November 27, 2023 12:00
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mu373/629427ccb575c47c6ada809f00fd18a4 to your computer and use it in GitHub Desktop.
Save mu373/629427ccb575c47c6ada809f00fd18a4 to your computer and use it in GitHub Desktop.
Docker Bitcoin Suite: Run Bitcoin softwares on Docker independently

Docker Bitcoin Suite

Run various Bitcoin software in Docker containers, independently

Setup

  • All of the following software that I introduce here will run individually as a Docker service, respectively
    • Some may include multiple containers (e.g., mempool)
  • Needless to say, the fundamental software is the bitcoind.
  • All containers would belong to the network named bitcoin-nw, so that they can communicate with each other
  • Traefik, which functions as a reverse proxy, is used to host services under your custom domain with HTTPS
    • e.g., https://mempool.example.com
    • To enable Traefik in the applications, add the container to a network named traefik-nw, and set labels in docker-compose.yml

Bitcoin (on-chain)

Lightning Network

Utilities

  • Traefik proxy: mu373/traefik
    • Easily support HTTPS for your HTTP apps (reverse proxy).
    • No need to be puzzled with nginx.conf anymore.
    • Configs are written for a domain managed in Cloudflare DNS, but it should work with other registrars if they support DNS-01 ACME challenge. See the link for other ACME challenge methods that Traefik supports (link).
  • Tailscale
    • The best personal VPN to connect your devices and servers securely
    • Combined with Traefik and custom DNS settings, you can access the applications in HTTPS with your lovely subdomains without exposing to the public internet. You can access the applications only when connected to the Tailscale network.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment