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: - nbxplorer 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" ACME_CA_URI: links: - nginx btcpayserver: restart: always image: nicolasdorier/btcpayserver:1.0.0.48 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_EXPLORERURL: http://nbxplorer:32838/ BTCPAY_BIND: 0.0.0.0:49392 BTCPAY_INTERNALURL: http://btcpayserver: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: email@btcpayserver.com links: - nbxplorer - postgres volumes: - "btcpay_datadir:/datadir" nbxplorer: restart: always image: nicolasdorier/nbxplorer:1.0.0.32 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_datadir:/datadir" - "bitcoin_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_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_datadir: postgres_datadir: btcpay_datadir: nbxplorer_datadir: