From ec162036107b5350c4683ede3f617c5b8e2d10e2 Mon Sep 17 00:00:00 2001 From: "nicolas.dorier" Date: Mon, 18 Dec 2017 18:42:39 +0900 Subject: [PATCH] Add documentation to production docker-compose --- Production/Production.png | Bin 0 -> 54964 bytes Production/README.md | 27 +++++++++++++++++++++++++++ 2 files changed, 27 insertions(+) create mode 100644 Production/Production.png create mode 100644 Production/README.md diff --git a/Production/Production.png b/Production/Production.png new file mode 100644 index 0000000000000000000000000000000000000000..9be63c7b636f521504e16a36aaf11f4303505735 GIT binary patch literal 54964 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 literal 0 HcmV?d00001 diff --git a/Production/README.md b/Production/README.md new file mode 100644 index 0000000..55f33e1 --- /dev/null +++ b/Production/README.md @@ -0,0 +1,27 @@ +# About this docker-compose + +The docker-compose can be used for production purpose. + +It is composed of: + +1. A full node (Bitcoin Core) +2. A lightweight block explorer ([NBxplorer](https://github.com/dgarage/NBXplorer)) +3. A [BTCPay Server](https://github.com/btcpayserver/btcpayserver) +4. A database (Postgres) +5. A reverse proxy (NGINX) +6. Two containers configuring NGINX as a reverse proxy and renewing SSL certificates. + +![Architecture](Production.png) + +This docker-compose is used for [one click deploy on azure](https://github.com/btcpayserver/btcpayserver-azure) by an Ubuntu, it can be used 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 +* `LETSENCRYPT_EMAIL`: The email Let's Encrypt will use to notify you about certificate expiration. +* `BITCOIND_COOKIEFILE`: The relative path to RPC cookie file from bitcoin's data directory. (`.cookie` for mainnet, `regtest/.cookie` for regtest, `testnet3/.cookie` for testnet) +* `BITCOIND_NETWORKPARAMETER`: The blockchain identifier parameter used by bitcoind (`regtest=1` for regtest, `testnet=1` for testnet, `#mainnet=1` for mainnet) +* `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) + +Any unset or empty environment variable will be set for a `regtest` deployment. \ No newline at end of file