From ab603fc713e0ec1cc8edfcea6cb5e13256963473 Mon Sep 17 00:00:00 2001 From: Andrew Camilleri Date: Tue, 21 Jan 2020 10:30:39 +0100 Subject: [PATCH] Integrate Configurator (#238) --- Production/nginx.tmpl | 14 ++++++++++ README.md | 1 + contrib/DockerFileBuildHelper/Program.cs | 8 ++++++ contrib/build-all-images.sh | 16 ++++++++++++ .../docker-fragments/btcpayserver.yml | 3 ++- .../docker-fragments/opt-add-configurator.yml | 26 +++++++++++++++++++ .../docker-fragments/opt-add-tor.yml | 8 ++++++ 7 files changed, 75 insertions(+), 1 deletion(-) create mode 100644 docker-compose-generator/docker-fragments/opt-add-configurator.yml diff --git a/Production/nginx.tmpl b/Production/nginx.tmpl index a3622dd..5467579 100644 --- a/Production/nginx.tmpl +++ b/Production/nginx.tmpl @@ -80,6 +80,20 @@ proxy_set_header X-Forwarded-Port 443; proxy_set_header X-Forwarded-Proto https; proxy_pass http://btctransmuter; + } + {{ end }} + + {{ if (eq $serviceName "configurator") }} + location /configurator/ { + proxy_set_header Connection ""; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Host $host:443; + proxy_set_header X-Forwarded-Server $host; + proxy_set_header X-Forwarded-Port 443; + proxy_set_header X-Forwarded-Proto https; + proxy_pass http://configurator; } {{ end }} {{ end }} diff --git a/README.md b/README.md index 2b4be71..d1f985e 100644 --- a/README.md +++ b/README.md @@ -319,6 +319,7 @@ We are trying to update our dependencies to run on `arm32v7` and `x64` boards. H | btcpayserver/docker-gen | 0.7.7 | [✔️](https://raw.githubusercontent.com/btcpayserver/docker-gen/v0.7.7/linuxamd64.Dockerfile) | [✔️](https://raw.githubusercontent.com/btcpayserver/docker-gen/v0.7.7/linuxarm32v7.Dockerfile) | [✔️](https://raw.githubusercontent.com/btcpayserver/docker-gen/v0.7.7/linuxarm64v8.Dockerfile) | [Github](https://github.com/btcpayserver/docker-gen) - [DockerHub](https://hub.docker.com/r/btcpayserver/docker-gen) | | btcpayserver/letsencrypt-nginx-proxy-companion | 1.12.2 | [✔️](https://raw.githubusercontent.com/btcpayserver/docker-letsencrypt-nginx-proxy-companion/v1.12.2/linuxamd64.Dockerfile) | [✔️](https://raw.githubusercontent.com/btcpayserver/docker-letsencrypt-nginx-proxy-companion/v1.12.2/linuxarm32v7.Dockerfile) | [✔️](https://raw.githubusercontent.com/btcpayserver/docker-letsencrypt-nginx-proxy-companion/v1.12.2/linuxarm64v8.Dockerfile) | [Github](https://github.com/btcpayserver/docker-letsencrypt-nginx-proxy-companion) - [DockerHub](https://hub.docker.com/r/btcpayserver/letsencrypt-nginx-proxy-companion) | | btcpayserver/btctransmuter | 0.0.47 | [✔️](https://raw.githubusercontent.com/btcpayserver/btctransmuter/v0.0.47/BtcTransmuter/Dockerfile.linuxamd64) | [✔️](https://raw.githubusercontent.com/btcpayserver/btctransmuter/v0.0.47/BtcTransmuter/Dockerfile.linuxarm32v7) | ️❌ | [Github](https://github.com/btcpayserver/btctransmuter) - [DockerHub](https://hub.docker.com/r/btcpayserver/btctransmuter) | +| btcpayserver/btcpayserver-configurator | 0.0.18 | [✔️](https://raw.githubusercontent.com/btcpayserver/btcpayserver-configurator/v0.0.18/Dockerfiles/amd64.Dockerfile) | [✔️](https://raw.githubusercontent.com/btcpayserver/btcpayserver-configurator/v0.0.18/Dockerfiles/arm32v7.Dockerfile) | [✔️](https://raw.githubusercontent.com/btcpayserver/btcpayserver-configurator/v0.0.18/Dockerfiles/arm64v8.Dockerfile) | [Github](https://github.com/btcpayserver/btcpayserver-configurator) - [DockerHub](https://hub.docker.com/r/btcpayserver/btcpayserver-configurator) | | btcpayserver/tor | 0.4.1.5 | [✔️](https://raw.githubusercontent.com/btcpayserver/dockerfile-deps/Tor/0.4.1.5/Tor/0.4.1.5/linuxamd64.Dockerfile) | [✔️](https://raw.githubusercontent.com/btcpayserver/dockerfile-deps/Tor/0.4.1.5/Tor/0.4.1.5/linuxarm32v7.Dockerfile) | [✔️](https://raw.githubusercontent.com/btcpayserver/dockerfile-deps/Tor/0.4.1.5/Tor/0.4.1.5/linuxarm64v8.Dockerfile) | [Github](https://github.com/btcpayserver/dockerfile-deps) - [DockerHub](https://hub.docker.com/r/btcpayserver/tor) | | postgres | 9.6.5 | [✔️](https://raw.githubusercontent.com/docker-library/postgres/b7cb3c6eacea93be2259381033be3cc435649369/9.6/Dockerfile) | [✔️](https://raw.githubusercontent.com/docker-library/postgres/b7cb3c6eacea93be2259381033be3cc435649369/9.6/Dockerfile) | [✔️](https://raw.githubusercontent.com/docker-library/postgres/b7cb3c6eacea93be2259381033be3cc435649369/9.6/Dockerfile) | [Github](https://github.com/docker-library/postgres) - [DockerHub](https://hub.docker.com/_/postgres) | | kamigawabul/docker-bitcoingold | 0.15.2 | [✔️](https://raw.githubusercontent.com/Vutov/docker-bitcoin/master/bitcoingold/0.15.2/Dockerfile) | ️❌ | ️❌ | [Github](https://github.com/Vutov/docker-bitcoin) - [DockerHub](https://hub.docker.com/r/kamigawabul/docker-bitcoingold) | diff --git a/contrib/DockerFileBuildHelper/Program.cs b/contrib/DockerFileBuildHelper/Program.cs index 769504b..a2a23af 100644 --- a/contrib/DockerFileBuildHelper/Program.cs +++ b/contrib/DockerFileBuildHelper/Program.cs @@ -514,6 +514,14 @@ namespace DockerFileBuildHelper dockerInfo.GitRef = $"v{image.Tag.Split('-')[0]}"; dockerInfo.SupportedByUs = true; break; + case "btcpayserver-configurator": + dockerInfo.DockerFilePath = $"Dockerfiles/amd64.Dockerfile"; + dockerInfo.DockerFilePathARM32v7 = $"Dockerfiles/arm32v7.Dockerfile"; + dockerInfo.DockerFilePathARM64v8 = $"Dockerfiles/arm64v8.Dockerfile"; + dockerInfo.GitLink = "https://github.com/btcpayserver/btcpayserver-configurator"; + dockerInfo.GitRef = $"v{image.Tag.Split('-')[0]}"; + dockerInfo.SupportedByUs = true; + break; default: if (firstTry) { diff --git a/contrib/build-all-images.sh b/contrib/build-all-images.sh index b98161a..a81139a 100755 --- a/contrib/build-all-images.sh +++ b/contrib/build-all-images.sh @@ -541,6 +541,22 @@ docker build -f "$DOCKERFILE" -t "btcpayserver/btctransmuter:0.0.47" . cd - && cd .. +# Build btcpayserver-configurator +# https://raw.githubusercontent.com/btcpayserver/btcpayserver-configurator/v0.0.18/Dockerfiles/amd64.Dockerfile +DOCKERFILE="Dockerfiles/amd64.Dockerfile" +# https://raw.githubusercontent.com/btcpayserver/btcpayserver-configurator/v0.0.18/Dockerfiles/arm32v7.Dockerfile +[[ "$(uname -m)" == "armv7l" ]] && DOCKERFILE="Dockerfiles/arm32v7.Dockerfile" +# https://raw.githubusercontent.com/btcpayserver/btcpayserver-configurator/v0.0.18/Dockerfiles/arm64v8.Dockerfile +[[ "$(uname -m)" == "aarch64" ]] && DOCKERFILE="Dockerfiles/arm64v8.Dockerfile" +echo "Building btcpayserver/btcpayserver-configurator:0.0.18" +git clone https://github.com/btcpayserver/btcpayserver-configurator btcpayserver-configurator +cd btcpayserver-configurator +git checkout v0.0.18 +cd "$(dirname $DOCKERFILE)" +docker build -f "$DOCKERFILE" -t "btcpayserver/btcpayserver-configurator:0.0.18" . +cd - && cd .. + + # Build electrumx # https://raw.githubusercontent.com/lukechilds/docker-electrumx/master/Dockerfile DOCKERFILE="Dockerfile" diff --git a/docker-compose-generator/docker-fragments/btcpayserver.yml b/docker-compose-generator/docker-fragments/btcpayserver.yml index a66ac8f..a3bd7aa 100644 --- a/docker-compose-generator/docker-fragments/btcpayserver.yml +++ b/docker-compose-generator/docker-fragments/btcpayserver.yml @@ -33,4 +33,5 @@ required: - "nbxplorer" - "btcpayserver" recommended: - - "opt-add-tor" \ No newline at end of file + - "opt-add-tor" + - "opt-add-configurator" \ No newline at end of file diff --git a/docker-compose-generator/docker-fragments/opt-add-configurator.yml b/docker-compose-generator/docker-fragments/opt-add-configurator.yml new file mode 100644 index 0000000..4da2980 --- /dev/null +++ b/docker-compose-generator/docker-fragments/opt-add-configurator.yml @@ -0,0 +1,26 @@ +version: "3" + +services: + configurator: + restart: unless-stopped + image: btcpayserver/btcpayserver-configurator:0.0.18 + environment: + CONFIGURATOR_SSHCONNECTION: "root@host.docker.internal" + CONFIGURATOR_SSHKEYFILE: ${BTCPAY_SSHKEYFILE} + CONFIGURATOR_SSHAUTHORIZEDKEYS: ${BTCPAY_SSHAUTHORIZEDKEYS} + CONFIGURATOR_ROOTPATH: "${BTCPAY_ROOTPATH:-/}configurator" + CONFIGURATOR_COOKIEFILEPATH: "/usr/local/etc/configurator/cookie" + volumes: + - "configurator_passworddir:/usr/local/etc/configurator" + - "$?:${BTCPAY_SSHAUTHORIZEDKEYS}" + - "btcpay_datadir:/datadir" + expose: + - "80" + btcpayserver: + environment: + BTCPAY_EXTERNALCONFIGURATOR: "cookiefilepath=/usr/local/etc/configurator/cookie;server=/configurator" + volumes: + - "configurator_passworddir:/usr/local/etc/configurator" + +volumes: + configurator_passworddir: diff --git a/docker-compose-generator/docker-fragments/opt-add-tor.yml b/docker-compose-generator/docker-fragments/opt-add-tor.yml index a4582d5..f8b31f6 100644 --- a/docker-compose-generator/docker-fragments/opt-add-tor.yml +++ b/docker-compose-generator/docker-fragments/opt-add-tor.yml @@ -26,6 +26,14 @@ services: - "tor_servicesdir:/var/lib/tor/hidden_services" - "tor_torrcdir:/usr/local/etc/tor/" + configurator: + environment: + HIDDENSERVICE_NAME: Configurator + HIDDENSERVICE_REVERSEPROXY: nginx + volumes: + - "tor_servicesdir:/var/lib/tor/hidden_services" + - "tor_torrcdir:/usr/local/etc/tor/" + woocommerce: environment: HIDDENSERVICE_NAME: WooCommerce