Crypto Payments

Btcpayserver DockerSelf-Hosted Bitcoin Payment Server Setup

Free, MIT-licensed Docker deployment for BTCPay Server with Bitcoin Core, Nginx HTTPS and Tor. Setup overview, requirements and safety tips.

Free Open source Windows: Yes Updated 30 Oct 2026
9 min read Last update 30 Oct 2026 github.com/btcpayserver/btcpayserver-docker

Btcpayserver Docker is a free, open-source deployment package for merchants, freelancers and developers who want to run their own BTCPay Server for accepting Bitcoin and Lightning Network payments without routing every sale through a third-party processor. It gathers the core pieces of a standard Bitcoin deployment into a Docker-based setup, so the services a working payment server needs can be installed and managed together. The project is released under the MIT license, which means the code is free to use, study and modify under that license.

Windows users should know upfront that this is a server-side tool rather than a desktop app with a simple double-click installer. The deployment is built around Docker and typically runs on a Linux host, so people working from a Windows PC usually need a server, a virtual machine or a container environment to run it. If you are comfortable with basic server administration, Btcpayserver Docker offers a practical route to a self-hosted Bitcoin payment stack.

02

What Is a Self-Hosted Bitcoin Payment Server?

A self-hosted payment server is software you run on your own infrastructure to receive payments directly, instead of sending customers to a hosted checkout operated by someone else. For a merchant, that can mean creating invoices, showing a payment page and recording whether funds arrived, all within a system you control.

Btcpayserver Docker addresses the setup side of that idea. Rather than installing each component by hand, it packages the core parts of a standard Bitcoin deployment into a repeatable configuration. That matters because a payment server involves several services that must start in the right order and stay connected.

Self-hosting trades convenience for control. You manage the server, its updates and its backups, but you also decide which node validates your transactions and how your checkout is reached. Many operators accept that trade-off because it keeps the payment flow in their own hands.

03

Who Should Use Btcpayserver Docker?

The most natural audience is a small business or independent seller who wants to accept Bitcoin without routing every sale through a third-party processor. Online shops, service providers and content creators who invoice in Bitcoin are typical examples.

Developers form a second group. Someone building a donation page, a subscription tool or a custom checkout can use a working BTCPay Server stack as a foundation and extend it from there. A Docker-based deployment also makes it easier to rebuild the environment on a new machine if you need to move.

This package is less suited to people who want a simple app they can install on a home PC in a few minutes. Expect to spend time on server settings, DNS and ongoing maintenance. If you only accept payments occasionally, a hosted option may take less effort, though it gives you less control over the setup.

04

Key Terms: Nodes, Lightning Channels and Hidden Services

A Bitcoin node is a program that downloads and checks the blockchain's transactions independently. Running Bitcoin Core as part of the stack means your server verifies payments against the network itself rather than trusting a remote API. The trade-off is storage and synchronization time, which can be substantial the first time.

The Lightning Network is a layer built on top of Bitcoin for faster, lower-value transfers through payment channels. Merchants who want quick settlement for small purchases often look at Lightning, while larger payments may stay on the main chain. The project's documentation mentions Lightning among its supported networks, so both options are relevant.

Tor hidden services provide an address that resolves inside the Tor network rather than through public DNS. They give operators a way to reach their server privately. Nginx, by contrast, serves ordinary web traffic behind a domain name. Understanding the difference helps you choose which access path suits your store.

05

Key features

BTCPay Server

BTCPay Server is the payment application at the heart of the package. It provides the store, invoice and checkout features merchants use to request and track payments. Because it runs on your own server, the records of your sales stay with you rather than on a hosted platform. You manage it through a web interface once the stack is running.

Bitcoin Core

Bitcoin Core is the reference full-node software for Bitcoin. Including it in the default deployment lets the payment server check transactions against a node you operate. That reduces reliance on outside services, though the node needs ample disk space and time to synchronize with the network.

Nginx with automatic HTTPS certificates

Nginx acts as the web gateway in front of the payment server, handling incoming connections and routing them to the right services. When a domain is configured and its DNS records point to the server, automatic HTTPS can provision certificates so checkout pages and the admin panel load over an encrypted connection.

Tor hidden services and selected Tor connectivity

The package supports Tor hidden services and selected Tor connectivity. Hidden services let you reach the server through an onion address, which can be useful when you do not want to publish a public domain. Selected connectivity routes specific traffic through Tor, giving operators another privacy-oriented option.
06

Supported coins

The project's documentation mentions Bitcoin (BTC) and the Lightning Network as the supported coins and networks. Because the stack is organized around Bitcoin Core and BTCPay Server, the practical focus is Bitcoin and its Lightning layer rather than a broad list of other blockchains. Check the documentation for details on how each network is configured in your deployment.

07

How to install Btcpayserver Docker on Windows

  1. 1

    Download the release from an official source

    Get the program from the project's official website or from the GitHub Releases page of the source repository. Download only from the official website or GitHub, and avoid mirror sites and files shared in chat groups. Keep the downloaded file in a folder you can easily find later.

  2. 2

    Verify the file before running it

    Compare the SHA-256 checksum published with the release against the checksum of your download, or check the signature if one is provided. On Windows, PowerShell's Get-FileHash command can calculate the hash. If the values do not match, do not run the file.

  3. 3

    Prepare Docker and a host

    Install Docker on the machine that will host the server. Because the project is designed around Docker and Linux, a Linux server or virtual machine is the most straightforward host. A Windows PC can manage a remote server while the stack itself runs elsewhere.

  4. 4

    Decide how the server will be reached

    Choose between a domain name whose DNS records point to the server, which enables automatic HTTPS, or a local or manually proxied setup where a domain is not required. Make this decision before you start, because it affects how certificates are issued and how customers reach checkout pages.

  5. Run the installation and confirm it works

    Follow the installation instructions in the project documentation and wait for the services to start. Then open the BTCPay Server web address in a browser to confirm it loads. If you configured a domain, check that the connection is encrypted before accepting any payments.

08

System requirements

  • Docker as the container runtime for the deployment
  • A Linux host or virtual machine as the supported platform
  • A domain name with DNS records pointing to the server, only if you want automatic HTTPS
  • No domain required for local or manually proxied deployments
09

How to use Btcpayserver Docker

Using Btcpayserver Docker is less about clicking buttons and more about running a server correctly. Once the stack is installed, the day-to-day work happens in the BTCPay Server interface, where you create a store, connect a wallet and issue invoices. The steps below follow the general order most operators use.

  1. Confirm your host is ready, with Docker running and, if you need HTTPS, a domain whose DNS records point to the server.
  2. Start the installation according to the project documentation and wait until all services are up.
  3. Open the BTCPay Server web address in a browser and create your administrator account.
  4. Create a store and connect your Bitcoin wallet or node so you can generate invoices.
  5. Send a small test invoice from a separate wallet to confirm that the payment is detected.
  6. Enable Tor access or other optional settings only if you need them, and keep regular backups of your configuration.
10

Pros & cons

Pros
  • Free to use and released under the MIT license
  • Open source code you can inspect and modify
  • Bundles BTCPay Server, Bitcoin Core and Nginx in one deployment
  • Automatic HTTPS certificates when a domain is configured
  • Supports Tor hidden services and selected Tor connectivity
  • Covers Bitcoin and the Lightning Network
Cons
  • Built for server deployments rather than a simple desktop app
  • Requires familiarity with Docker and basic server administration
  • Running Bitcoin Core needs ample disk space and synchronization time
  • Automatic HTTPS depends on correct DNS configuration
  • Windows users typically need a separate Linux host or virtual machine
11

Is Btcpayserver Docker safe?

Btcpayserver Docker handles the infrastructure behind real payments and the keys that control your funds, so treat installation as a security task. Download only from the official website or the project's GitHub repository, and check the SHA-256 checksum or signature before running the installer. Keep Docker and the host operating system updated, restrict administrator access, and use strong, unique passwords. Never enter a seed phrase on a third-party website, in a chat or in an app you did not install from an official source. Before going live, confirm the latest version on the official website and test with small amounts first.

  • Official source only. Download from github.com/btcpayserver/btcpayserver-docker. Ignore ads and lookalike domains.
  • Check the SHA-256. Compare the installer hash with the value the developer publishes before running it.
  • Never share your seed phrase. No developer, support agent or website — including CryptApps — will ever ask for it.
12

Alternatives

Btcpayserver Docker is easier to compare with its neighbors in this catalog once you separate the layers. BTCPay Server is the payment application you use day to day. Btcpayserver Docker is the deployment package that installs it together with Bitcoin Core, Nginx and Tor options, which saves time when you are building a stack from scratch. NBXplorer works lower down, tracking UTXOs for HD wallets, so it suits developers building custom wallet tools rather than merchants. CryptoTerminal targets in-person payments at a point of sale, while the Strike plugin focuses on exchange integration. If you already have a running BTCPay Server, you may only need the application itself. If you are starting from zero, this package is the more complete starting point.

13

Specifications

Price
Free
Type
Open source
License
MIT
Latest version
—
Last update
30 Oct 2026
Windows support
Yes (Windows build or installer)
Source code
github.com/btcpayserver/btcpayserver-docker
14

Frequently asked questions

Yes. Btcpayserver Docker is free and released under the MIT license, so you can use, modify and redistribute it under that license's terms. Costs you may still face include a server or hosting, a domain name if you want automatic HTTPS, and the time needed to maintain the system.

Windows is listed as a supported platform, but the deployment is built around Docker and typically runs on a Linux server or virtual machine. Many people manage a remote server from a Windows PC. Review the project documentation for the current setup path before you begin.

It can be, when you obtain the files from the project's official sources, check the SHA-256 checksum or signature, and secure the host. Never enter your seed phrase on third-party websites. The safety section above explains the main precautions in more detail.

Not always. A domain is not required for local or manually proxied deployments. Automatic HTTPS, however, requires a domain whose DNS records point to your server, so that a certificate can be issued and renewed for your checkout pages.

The documentation mentions Bitcoin (BTC) and the Lightning Network. The stack is organized around Bitcoin Core and BTCPay Server, so its focus is Bitcoin and its Lightning layer rather than a long list of other blockchains.

BTCPay Server is the payment application itself, while Btcpayserver Docker is a deployment package that installs it along with Bitcoin Core, Nginx and Tor support. If you already run BTCPay Server, you may not need this package. It is most useful when you are setting up the whole stack at once.

Not necessarily, but you should be comfortable using a terminal, understanding basic Docker concepts and editing DNS settings. Beginners can follow the documentation step by step, though troubleshooting a live server is much easier with some administration experience.

15

Verdict

Btcpayserver Docker is a sensible choice for merchants, freelancers and developers who want a self-hosted Bitcoin and Lightning payment setup and are comfortable with Docker and server basics. It is free, MIT-licensed and bundles the core components that a payment server needs. It is not an easy desktop program for casual users, and it rewards careful setup and ongoing maintenance. If that fits your situation, Btcpayserver Docker for Windows users is a practical path to a self-hosted payment stack.

Download now