A web-based wizard for configuring and deploying BTCPay Server via Docker. Deploy directly to a remote server over SSH or generate a bash script for manual deployment.
- Self-hosting migration — Third-party hosts can offer a Configurator instance so users can easily transition to their own server.
- Consulting / managed deployments — Server admins deploying BTCPay on behalf of clients can export or directly deploy configurations.
- Existing server reconfiguration — Admins can modify a running BTCPay Server's settings from the Configurator (admin account required).
If you already have a BTCPay Server deployed with the opt-add-configurator environment variable:
Server Settings > Services > Other external services > Configurator > See information
Non-admins can access the Configurator at yourbtcpaydomain.com/configurator.
docker run -p 1337:80 ghcr.io/btcpayserver/btcpayserver-configuratorThen open http://localhost:1337 in your browser.
Requires .NET 10 SDK.
git clone https://github.com/btcpayserver/btcpayserver-configurator.git
cd btcpayserver-configurator
dotnet run --project BTCPayServerDockerConfiguratorThe configurator walks through 6 steps:
- Destination — Deploy via SSH now, or generate a bash script for later.
- Domain — Set the domain name pointing to your server.
- Chain — Choose Bitcoin network (mainnet/testnet), pruning level, and optional altcoins.
- Lightning — Pick a Lightning implementation: LND, Core Lightning, Eclair, or Phoenixd (optional).
- Advanced — Additional settings like reverse proxy, custom BTCPAY_IMAGE, startup options.
- Summary — Review all selections, then deploy or export the script.
When deploying over SSH, the Configurator automates:
- Installing Docker, Docker Compose, and Git
- Configuring BTCPay environment variables
- Setting up systemd for auto-start on reboot
- Adding BTCPay utilities to
/usr/bin - Starting BTCPay Server
Choose "Generate Script" in step 1 to get a bash script you can paste into your server terminal later.
Images are published to GitHub Container Registry on every push to master.
| Tag | Description |
|---|---|
latest |
Every master push |
x.y.z |
Versioned release (e.g. 0.0.23) |
x.y |
Major.minor (e.g. 0.0) |
Versioning is driven by the <Version> property in BTCPayServerDockerConfigurator.csproj. When the version is bumped, CI automatically creates a git tag and publishes versioned Docker images.
If using someone else's Configurator instance, you will be sharing:
- Your server IP/domain and SSH credentials
- Your server configuration choices
Mitigations:
- Change your SSH password after deployment.
- Use local Docker deployment or export the script without entering your domain — add it when you paste the commands into your terminal.