Repolode
btcpayserver

btcpayserver/btcpayserver-docker

Official Docker Compose deployment that generates and runs a full BTCPay Server stack from environment variables.

Open-source alternative to:BitPay

Stars
762
Forks
440
Open issues
126
Last commit
yesterday

What is it?

This repository provides the official Docker deployment for BTCPay Server, a self-hosted Bitcoin payment processor. A setup script turns a small set of environment variables and optional fragments into a Docker Compose stack, then installs the command-line utilities, registers the stack to start at boot, and launches the services.

The standard Bitcoin deployment includes BTCPay Server, PostgreSQL, NBXplorer, Bitcoin Core, and Nginx with automatic HTTPS certificates, plus Tor hidden services. Lightning implementations, additional cryptocurrencies, and other services are optional and enabled through configuration.

The project targets administrators who want to run and maintain their own BTCPay instance on a VPS. Provider-specific guides, server sizing notes, and documentation on updates, backups, and customization are provided alongside the scripts.

Key features

  • 01Generates a Docker Compose stack from environment variables and optional fragments.
  • 02Bundles BTCPay Server, PostgreSQL, NBXplorer, and Bitcoin Core.
  • 03Sets up Nginx with automatic HTTPS certificates when a domain is configured.
  • 04Supports Tor hidden services and optional Lightning implementations.
  • 05Installs command-line utilities and registers the stack to start at boot.

Use cases

  • Hosting a self-run Bitcoin payment processor on a VPS for an online store.
  • Deploying BTCPay Server on a cloud provider with a guided install script.
  • Adding optional Lightning or altcoin support to an existing BTCPay deployment.

Quick start

  1. 1

    Set environment variables for your domain, network and components

    export BTCPAY_HOST="btcpay.example.com" export NBITCOIN_NETWORK="mainnet" export BTCPAYGEN_CRYPTO1="btc" export BTCPAYGEN_LIGHTNING="none" export BTCPAYGEN_REVERSEPROXY="nginx" export BTCPAYGEN_ADDITIONAL_FRAGMENTS="opt-save-storage-xs"
  2. 2

    Clone the repository

    git clone https://github.com/btcpayserver/btcpayserver-docker
  3. 3

    Run the setup script to generate and start the stack

    . ./btcpay-setup.sh -i
  4. 4

    Open your domain in a browser and register the first admin account

Things to know

  • Automatic HTTPS requires a domain pointing to the server and open ports 80 and 443.
  • Initial Bitcoin synchronization can take a long time and needs substantial server resources.

In collections

Topics

FAQ

What is btcpayserver-docker?
Official Docker Compose deployment that generates and runs a full BTCPay Server stack from environment variables. This repository provides the official Docker deployment for BTCPay Server, a self-hosted Bitcoin payment processor. A setup script turns a small set of environment variables and optional fragments into a Docker Compose stack, then installs the command-line utilities, registers the stack to start at boot, and launches the services.
Is btcpayserver-docker free to use? What license does it have?
btcpayserver-docker is open source under the MIT license. Check the license terms before using it in commercial products.
Is btcpayserver-docker still maintained?
Actively maintained. The last commit to btcpayserver-docker was on Nov 6, 2026.
What can I use btcpayserver-docker for?
Hosting a self-run Bitcoin payment processor on a VPS for an online store. Deploying BTCPay Server on a cloud provider with a guided install script. Adding optional Lightning or altcoin support to an existing BTCPay deployment.
How do I install btcpayserver-docker?
Set environment variables for your domain, network and components: export BTCPAY_HOST="btcpay.example.com" export NBITCOIN_NETWORK="mainnet" export BTCPAYGEN_CRYPTO1="btc" export BTCPAYGEN_LIGHTNING="none" export BTCPAYGEN_REVERSEPROXY="nginx" export BTCPAYGEN_ADDITIONAL_FRAGMENTS="opt-save-storage-xs" Clone the repository: git clone https://github.com/btcpayserver/btcpayserver-docker Run the setup script to generate and start the stack: . ./btcpay-setup.sh -i Open your domain in a browser and register the first admin account
Where can I get btcpayserver-docker?
The source code and installation instructions are on GitHub: https://github.com/btcpayserver/btcpayserver-docker

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects