You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
nicolas.dorier
c188ad529b
|
7 years ago | |
---|---|---|
.. | ||
Production.png | 7 years ago | |
README.md | 7 years ago | |
docker-compose.btc-clightning.yml | 7 years ago | |
docker-compose.btc-ltc-clightning.yml | 7 years ago | |
docker-compose.btc-ltc.yml | 7 years ago | |
docker-compose.btc.yml | 7 years ago | |
docker-compose.ltc-clightning.yml | 7 years ago | |
docker-compose.ltc.yml | 7 years ago | |
nginx.tmpl | 7 years ago |
README.md
About this docker-compose
The docker-compose
can be used for production purpose.
It is composed of:
- One full node per supported cryptocurrency (bitcoind/litecoind)
- A lightweight block explorer (NBxplorer)
- A BTCPay Server
- A database (Postgres)
- A reverse proxy (NGINX)
- Two containers configuring NGINX as a reverse proxy and renewing SSL certificates.
The Deploy on Azure Button is using this docker-compose
under the hood on an Ubuntu machine. You can use it on any docker supporting host.
The relevant environment variables are:
NBITCOIN_NETWORK
: the blockchain identifier used by NBitcoin (eg.,regtest
,testnet
,mainnet
)BTCPAY_HOST
: the external url used to access the NGINX server from internet. This domain name must point to this machine for Let's Encrypt to create your certificate. (typically with a CNAME or A record)LETSENCRYPT_EMAIL
: The email Let's Encrypt will use to notify you about certificate expiration.ACME_CA_URI
: Let's encrypt API endpoint (https://acme-staging.api.letsencrypt.org/directory
for a staging certificate,https://acme-v01.api.letsencrypt.org/directory
for a production one)
Use docker-compose.btc-ltc.yml
for bitcoin and litecoin support, or docker-compose.btc.yml
for only bitcoin.
Any unset or empty environment variable will be set for a regtest
deployment.
The necessary open ports are:
80
for Let's encrypt443
for the website
Example for running on mainnet
:
For linux:
docker-compose up \
-e "NBITCOIN_NETWORK=mainnet" \
-e "BTCPAY_HOST=btcpay.example.com" \
-e "LETSENCRYPT_EMAIL=me@example.com" \
-e "ACME_CA_URI=https://acme-v01.api.letsencrypt.org/directory"
For powershell:
docker-compose up `
-e "NBITCOIN_NETWORK=mainnet" `
-e "BTCPAY_HOST=btcpay.example.com" `
-e "LETSENCRYPT_EMAIL=me@example.com" `
-e "ACME_CA_URI=https://acme-v01.api.letsencrypt.org/directory"
Make sure the domain btcpay.example.com
point to your server and that port 80
and 443
are open.