How to use
This repository is hosting different docker-compose which can be used to facilitate deployment of BTCPay Server.
As you can see, it depends on several piece of infrastructure, mainly:
- A lightweight block explorer (NBXplorer),
- A database (Postgres, or SQLite),
- A full node (Bitcoin Core)
Setting up the dependencies might be time consuming, this repository is meant to give working example of docker-compose file which will setup everything for you.
The Production docker-compose files are used for production environment. It adds NGinx as a reverse proxy and Let's Encrypt and DockerGen to automatically configure HTTPS.
The production docker-compose is used under the hood to deploy an instance of BTCPay on Microsoft Azure in one click:
The Production-NoReverseProxy docker-compose files are used for environment which are already behind a reverse proxy. It exposes BTCPayServer directly on port 80.
About accessing services inside those docker compose
Several scripts are provided to access the internal of your docker-service.
litecoin-cli.sh and litecoin-cli.ps1 let you access your litecoin node CLI.
bitcoin-cli.sh and bitcoin-cli.ps1 let you access your bitcoin node CLI.
You can use it easily:
bitcoin-cli.sh getblockcount
About generate-docker-compose
The files in Production and Production-NoReverseProxy are generated by a dotnet program located in docker-compose-generator.
It is meant to generate a wide range a configuration from docker-compose-generator/docker-fragments without repeating myself.
