version: "3" # This run BTCPay behind NGINX reverse proxy configured with Let's Encrypt services: nginx: restart: always image: nginx container_name: nginx ports: - "80:80" - "443:443" volumes: - "nginx_conf:/etc/nginx/conf.d" - "nginx_vhost:/etc/nginx/vhost.d" - "nginx_html:/usr/share/nginx/html" - "nginx_certs:/etc/nginx/certs:ro" links: - btcpayserver nginx-gen: restart: always image: jwilder/docker-gen container_name: nginx-gen volumes: - "/var/run/docker.sock:/tmp/docker.sock:ro" - "./nginx.tmpl:/etc/docker-gen/templates/nginx.tmpl:ro" - "nginx_conf:/etc/nginx/conf.d" - "nginx_vhost:/etc/nginx/vhost.d" - "nginx_html:/usr/share/nginx/html" - "nginx_certs:/etc/nginx/certs:ro" entrypoint: /usr/local/bin/docker-gen -notify-sighup nginx -watch -wait 5s:30s /etc/docker-gen/templates/nginx.tmpl /etc/nginx/conf.d/default.conf links: - nginx letsencrypt-nginx-proxy-companion: restart: always image: jrcs/letsencrypt-nginx-proxy-companion container_name: letsencrypt-nginx-proxy-companion volumes: - "/var/run/docker.sock:/var/run/docker.sock:ro" - "nginx_conf:/etc/nginx/conf.d" - "nginx_vhost:/etc/nginx/vhost.d" - "nginx_html:/usr/share/nginx/html" - "nginx_certs:/etc/nginx/certs:rw" environment: NGINX_DOCKER_GEN_CONTAINER: "nginx-gen" NGINX_PROXY_CONTAINER: "nginx" ACME_CA_URI: links: - nginx btcpayserver: restart: always image: nicolasdorier/btcpayserver:1.0.0.63 expose: - "49392" environment: # BTCPay settings BTCPAY_POSTGRES: User ID=postgres;Host=postgres;Port=5432;Database=btcpayserver${NBITCOIN_NETWORK:-regtest} BTCPAY_NETWORK: ${NBITCOIN_NETWORK:-regtest} BTCPAY_BTCEXPLORERURL: http://nbxplorer-btc:32838/ BTCPAY_LTCEXPLORERURL: http://nbxplorer-ltc:32838/ BTCPAY_BIND: 0.0.0.0:49392 BTCPAY_EXTERNALURL: https://${BTCPAY_HOST}/ # NGINX settings VIRTUAL_NETWORK: nginx-proxy VIRTUAL_PORT: 49392 VIRTUAL_HOST: ${BTCPAY_HOST} # Let's encrypt settings LETSENCRYPT_HOST: ${BTCPAY_HOST} LETSENCRYPT_EMAIL: ${LETSENCRYPT_EMAIL:-yourname@example.com} links: - nbxplorer-btc - nbxplorer-ltc - postgres volumes: - "btcpay_datadir:/datadir" nbxplorer-btc: restart: always image: nicolasdorier/nbxplorer:1.0.0.45 expose: - "32838" environment: NBXPLORER_NETWORK: ${NBITCOIN_NETWORK:-regtest} NBXPLORER_RPCURL: http://bitcoind:43782/ NBXPLORER_RPCCOOKIEFILE: /btc/${BITCOIND_COOKIEFILE:-regtest/.cookie} NBXPLORER_NODEENDPOINT: bitcoind:39388 NBXPLORER_BIND: 0.0.0.0:32838 NBXPLORER_NOAUTH: 1 links: - bitcoind volumes: - "nbxplorer_btc_datadir:/datadir" - "bitcoin_btc_datadir:/btc" bitcoind: restart: always container_name: btcpayserver_bitcoind image: nicolasdorier/docker-bitcoin:0.15.0.1 environment: BITCOIN_EXTRA_ARGS: | rpcport=43782 ${BITCOIND_NETWORKPARAMETER:-regtest=1} port=39388 whitelist=0.0.0.0/0 expose: - "43782" - "39388" volumes: - "bitcoin_btc_datadir:/data" postgres: image: postgres:9.6.5 volumes: - "postgres_datadir:/var/lib/postgresql/data" nbxplorer-ltc: restart: always image: nicolasdorier/nbxplorer:1.0.0.45 expose: - "32838" environment: NBXPLORER_NETWORK: litecoin-${NBITCOIN_NETWORK:-regtest} NBXPLORER_RPCURL: http://litecoind:43782/ NBXPLORER_RPCCOOKIEFILE: /ltc/${LITECOIND_COOKIEFILE:-regtest/.cookie} NBXPLORER_NODEENDPOINT: litecoind:39388 NBXPLORER_BIND: 0.0.0.0:32838 NBXPLORER_NOAUTH: 1 links: - litecoind volumes: - "nbxplorer_ltc_datadir:/datadir" - "bitcoin_ltc_datadir:/ltc" litecoind: restart: always container_name: btcpayserver_litecoind image: nicolasdorier/docker-litecoin:0.14.2 environment: BITCOIN_EXTRA_ARGS: | rpcport=43782 ${BITCOIND_NETWORKPARAMETER:-regtest=1} port=39388 whitelist=0.0.0.0/0 expose: - "43782" - "39388" volumes: - "bitcoin_ltc_datadir:/data" postgres: image: postgres:9.6.5 volumes: - "postgres_datadir:/var/lib/postgresql/data" volumes: nginx_conf: nginx_vhost: nginx_html: nginx_certs: bitcoin_btc_datadir: bitcoin_ltc_datadir: postgres_datadir: btcpay_datadir: nbxplorer_ltc_datadir: nbxplorer_btc_datadir: