Skip to content

btcpayserver/btcpayserver-configurator

Repository files navigation

BTCPay Server Configurator

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.

Use Cases

  • 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).

Setup

Option 1: Add as an external service to BTCPay

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.

Option 2: Run with Docker

docker run -p 1337:80 ghcr.io/btcpayserver/btcpayserver-configurator

Then open http://localhost:1337 in your browser.

Option 3: Build from source

Requires .NET 10 SDK.

git clone https://github.com/btcpayserver/btcpayserver-configurator.git
cd btcpayserver-configurator
dotnet run --project BTCPayServerDockerConfigurator

Wizard Steps

The configurator walks through 6 steps:

  1. Destination — Deploy via SSH now, or generate a bash script for later.
  2. Domain — Set the domain name pointing to your server.
  3. Chain — Choose Bitcoin network (mainnet/testnet), pruning level, and optional altcoins.
  4. Lightning — Pick a Lightning implementation: LND, Core Lightning, Eclair, or Phoenixd (optional).
  5. Advanced — Additional settings like reverse proxy, custom BTCPAY_IMAGE, startup options.
  6. Summary — Review all selections, then deploy or export the script.

SSH Deployment

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

Manual Script Export

Choose "Generate Script" in step 1 to get a bash script you can paste into your server terminal later.

Docker Images

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.

Privacy & Security

If using someone else's Configurator instance, you will be sharing:

  • Your server IP/domain and SSH credentials
  • Your server configuration choices

Mitigations:

About

An easy UI to configure new and existing BTCPay deployments.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors