diff --git a/btcpay-setup.sh b/btcpay-setup.sh index 047c71d..073d41f 100755 --- a/btcpay-setup.sh +++ b/btcpay-setup.sh @@ -428,17 +428,6 @@ if ! [[ -x "$(command -v docker)" ]] || ! [[ -x "$(command -v docker-compose)" ] fi docker_update - - if ! [[ -x "$(command -v docker-compose)" ]]; then - if ! [[ "$OSTYPE" == "darwin"* ]] && $HAS_DOCKER; then - echo "Trying to install docker-compose by using the btcpayserver/docker-compose ($(uname -m))" - ! [[ -d "dist" ]] && mkdir dist - docker run --rm -v "$(pwd)/dist:/dist" btcpayserver/docker-compose:1.28.6 - mv dist/docker-compose /usr/local/bin/docker-compose - chmod +x /usr/local/bin/docker-compose - rm -rf "dist" - fi - fi fi if $HAS_DOCKER; then diff --git a/docker-compose-generator/docker-fragments/bitcoin-lnd.yml b/docker-compose-generator/docker-fragments/bitcoin-lnd.yml index 76ea064..5eb0c38 100644 --- a/docker-compose-generator/docker-fragments/bitcoin-lnd.yml +++ b/docker-compose-generator/docker-fragments/bitcoin-lnd.yml @@ -47,6 +47,7 @@ services: bitcoin_rtl: image: shahanafarooqui/rtl:0.14.1 + container_name: generated_lnd_bitcoin_rtl_1 restart: unless-stopped environment: LND_SERVER_URL: http://lnd_bitcoin:8080/v1 diff --git a/docker-compose-generator/docker-fragments/btcpayserver.yml b/docker-compose-generator/docker-fragments/btcpayserver.yml index 6d8a3e5..b7287da 100644 --- a/docker-compose-generator/docker-fragments/btcpayserver.yml +++ b/docker-compose-generator/docker-fragments/btcpayserver.yml @@ -3,6 +3,7 @@ version: "3" services: btcpayserver: restart: unless-stopped + container_name: generated_btcpayserver_1 image: ${BTCPAY_IMAGE:-btcpayserver/btcpayserver:1.12.3$?} expose: - "49392" diff --git a/docker-compose-generator/docker-fragments/nbxplorer.yml b/docker-compose-generator/docker-fragments/nbxplorer.yml index 61b0631..52c3ac8 100644 --- a/docker-compose-generator/docker-fragments/nbxplorer.yml +++ b/docker-compose-generator/docker-fragments/nbxplorer.yml @@ -4,6 +4,7 @@ services: nbxplorer: restart: unless-stopped + container_name: generated_nbxplorer_1 image: nicolasdorier/nbxplorer:2.4.4 expose: - "32838" diff --git a/docker-compose-generator/docker-fragments/opt-add-fireflyiii.yml b/docker-compose-generator/docker-fragments/opt-add-fireflyiii.yml index c7df0c5..8b871cb 100644 --- a/docker-compose-generator/docker-fragments/opt-add-fireflyiii.yml +++ b/docker-compose-generator/docker-fragments/opt-add-fireflyiii.yml @@ -3,6 +3,7 @@ version: '3' services: fireflyiii: image: fireflyiii/core:latest + container_name: generated_fireflyiii_1 environment: - APP_ENV=local - APP_KEY=MustBe32DropDbAndChangeItIfUWant diff --git a/docker-compose-generator/docker-fragments/opt-add-tallycoin-connect.yml b/docker-compose-generator/docker-fragments/opt-add-tallycoin-connect.yml index 03e66ad..c2bac2a 100644 --- a/docker-compose-generator/docker-fragments/opt-add-tallycoin-connect.yml +++ b/docker-compose-generator/docker-fragments/opt-add-tallycoin-connect.yml @@ -7,6 +7,7 @@ services: - "tallycoin_connect_datadir:/etc/tallycoin_connect_datadir" tallycoin_connect: image: "djbooth007/tallycoin_connect:v1.8.0" + container_name: generated_tallycoin_connect_1 restart: unless-stopped expose: - "8123" diff --git a/docker-compose-generator/docker-fragments/opt-add-thunderhub.yml b/docker-compose-generator/docker-fragments/opt-add-thunderhub.yml index 69e15ce..cfd84df 100644 --- a/docker-compose-generator/docker-fragments/opt-add-thunderhub.yml +++ b/docker-compose-generator/docker-fragments/opt-add-thunderhub.yml @@ -7,6 +7,7 @@ services: - "lnd_bitcoin_thub_datadir:/etc/lnd_bitcoin_thub_datadir" bitcoin_thub: image: apotdevin/thunderhub:base-v0.13.29@sha256:ed00149728a77469d39d4e9a9ff699c49a090063db201b4457edaf06211a99e8 + container_name: generated_bitcoin_thub_1 restart: unless-stopped stop_signal: SIGKILL environment: diff --git a/docker-compose-generator/docker-fragments/opt-add-woocommerce.yml b/docker-compose-generator/docker-fragments/opt-add-woocommerce.yml index b4f6093..5ae13f5 100644 --- a/docker-compose-generator/docker-fragments/opt-add-woocommerce.yml +++ b/docker-compose-generator/docker-fragments/opt-add-woocommerce.yml @@ -21,6 +21,7 @@ services: mariadb: image: mariadb:10.4 + container_name : generated_mariadb_1 environment: MYSQL_ROOT_PASSWORD: wordpressdb MYSQL_DATABASE: wordpress diff --git a/docker-compose-generator/docker-fragments/postgres.yml b/docker-compose-generator/docker-fragments/postgres.yml index 7ee5837..ab19999 100644 --- a/docker-compose-generator/docker-fragments/postgres.yml +++ b/docker-compose-generator/docker-fragments/postgres.yml @@ -3,6 +3,7 @@ version: "3" services: postgres: restart: unless-stopped + container_name: generated_postgres_1 image: btcpayserver/postgres:13.13 command: [ "-c", "random_page_cost=1.0", "-c", "shared_preload_libraries=pg_stat_statements" ] environment: diff --git a/helpers.sh b/helpers.sh index f1d5487..73eb005 100755 --- a/helpers.sh +++ b/helpers.sh @@ -133,6 +133,32 @@ CLOUDFLARE_TUNNEL_TOKEN=$CLOUDFLARE_TUNNEL_TOKEN" > $BTCPAY_ENV_FILE env | grep ^BWT_ >> $BTCPAY_ENV_FILE || true } +docker_compose_set_plugin() { + echo "set 'docker compose' to /usr/local/bin/docker-compose" + plugin_path=$(docker info -f '{{ range .ClientInfo.Plugins }}{{ if eq .Name "compose" }}{{ .Path }}{{ end }}{{ end }}' || echo '/usr/libexec/docker/cli-plugins/docker-compose') + if [[ "$plugin_path" ]] && [ -f "$plugin_path" ]; then + rm -f "$plugin_path" + ln -s /usr/local/bin/docker-compose "$plugin_path" + fi +} + +docker_compose_update() { + compose_version="2.23.3" + if ! [[ -x "$(command -v docker-compose)" ]] || [[ "$(docker-compose version --short)" != "$compose_version" ]]; then + if ! [[ "$OSTYPE" == "darwin"* ]] && $HAS_DOCKER; then + echo "Trying to install docker-compose by using docker/compose-bin ($(uname -m))" + ! [[ -d "dist" ]] && mkdir dist + container=$(docker create docker/compose-bin:v$compose_version /docker-compose) + docker cp "$container:/docker-compose" "dist/docker-compose" + docker rm "$container" + mv dist/docker-compose /usr/local/bin/docker-compose + chmod +x /usr/local/bin/docker-compose + rm -rf "dist" + docker_compose_set_plugin + fi + fi +} + docker_update() { if [[ "$(uname -m)" == "armv7l" ]] && cat "/etc/os-release" 2>/dev/null | grep -q "VERSION_CODENAME=buster" 2>/dev/null; then if [[ "$(apt list libseccomp2 2>/dev/null)" == *" 2.3"* ]]; then @@ -176,17 +202,17 @@ docker_update() { apt-get update apt-get install --only-upgrade -y docker-ce docker-ce-cli containerd.io fi + + docker_compose_set_plugin fi + + docker_compose_update } btcpay_up() { pushd . > /dev/null cd "$(dirname "$BTCPAY_ENV_FILE")" docker-compose -f $BTCPAY_DOCKER_COMPOSE up --remove-orphans -d -t "${COMPOSE_HTTP_TIMEOUT:-180}" - # Depending on docker-compose, either the timeout does not work, or "compose -d and --timeout cannot be combined" - if ! [ $? -eq 0 ]; then - docker-compose -f $BTCPAY_DOCKER_COMPOSE up --remove-orphans -d - fi popd > /dev/null } @@ -201,10 +227,6 @@ btcpay_down() { pushd . > /dev/null cd "$(dirname "$BTCPAY_ENV_FILE")" docker-compose -f $BTCPAY_DOCKER_COMPOSE down -t "${COMPOSE_HTTP_TIMEOUT:-180}" - # Depending on docker-compose, the timeout does not work. - if ! [ $? -eq 0 ]; then - docker-compose -f $BTCPAY_DOCKER_COMPOSE down - fi popd > /dev/null } @@ -212,10 +234,6 @@ btcpay_restart() { pushd . > /dev/null cd "$(dirname "$BTCPAY_ENV_FILE")" docker-compose -f $BTCPAY_DOCKER_COMPOSE restart -t "${COMPOSE_HTTP_TIMEOUT:-180}" - # Depending on docker-compose, the timeout does not work. - if ! [ $? -eq 0 ]; then - docker-compose -f $BTCPAY_DOCKER_COMPOSE restart - fi btcpay_up popd > /dev/null }