nicolas.dorier
3a1471069d
|
7 years ago | |
---|---|---|
Production | 7 years ago | |
Production-NoReverseProxy | 7 years ago | |
docker-compose-generator | 7 years ago | |
.gitattributes | 7 years ago | |
.gitignore | 7 years ago | |
LICENSE | 7 years ago | |
README.md | 7 years ago | |
bitcoin-cli.ps1 | 7 years ago | |
bitcoin-cli.sh | 7 years ago | |
bitcoin-lightning-cli.ps1 | 7 years ago | |
bitcoin-lightning-cli.sh | 7 years ago | |
generate-docker-compose.ps1 | 7 years ago | |
generate-docker-compose.sh | 7 years ago | |
litecoin-cli.ps1 | 7 years ago | |
litecoin-cli.sh | 7 years ago | |
litecoin-lightning-cli.ps1 | 7 years ago | |
litecoin-lightning-cli.sh | 7 years ago | |
publish-stable.ps1 | 7 years ago |
README.md
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
bitcoin-cli.sh
litecoin-lightning-cli.sh
bitcoin-lightning-cli.sh
We also provide powershell .ps1
scripts if you are on windows.
You can use it easily:
./bitcoin-cli.sh getblockcount
For docker noobs
If you are a docker noob here is how you would create a HTTPS ready server.
First step is to make sure you have a domain name pointing to your host, and that port 443
and 80
and externally accessible.
Let's assume it is btcpay.example.com
.
Clone the repository:
git clone https://github.com/btcpayserver/btcpayserver-docker
cd btcpayserver-docker
Create an .env
file with the parameters documented in Production:
NBITCOIN_NETWORK=mainnet
BTCPAY_HOST=btcpay.example.com
LETSENCRYPT_EMAIL=me@example.com
ACME_CA_URI=https://acme-v01.api.letsencrypt.org/directory
Save, then run it:
docker-compose -f "$(pwd)/Production/docker-compose.btc-ltc.yml" up -d
Wait a little bit, then you can now browse https://btcpay.example.com/
.
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.