# How to use This repository is hosting different docker-compose which can be used to facilitate deployment of BTCPay Server. ![Architecture](https://github.com/btcpayserver/btcpayserver-doc/raw/master/img/Architecture.png) 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](Production) `docker-compose` files are used for production environment. It adds NGinx as a reverse proxy and [Let's Encrypt and DockerGen](https://github.com/gilyes/docker-nginx-letsencrypt-sample) 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: [![Deploy to Azure](https://azuredeploy.net/deploybutton.svg)](https://portal.azure.com/#create/Microsoft.Template/uri/https%3A%2F%2Fraw.githubusercontent.com%2Fbtcpayserver%2Fbtcpayserver-azure%2Fmaster%2Fazuredeploy.json) The [Production-NoReverseProxy](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.