From 444d6a69279e473f34d449e7ad476801e9c02b66 Mon Sep 17 00:00:00 2001 From: yvanzo Date: Tue, 18 Oct 2022 08:29:49 +0100 Subject: [PATCH 1/3] Set Docker commands for GitBash on MinGW-w64 --- admin/lib/common.inc.bash | 26 ++++++++++++++++++++------ 1 file changed, 20 insertions(+), 6 deletions(-) diff --git a/admin/lib/common.inc.bash b/admin/lib/common.inc.bash index db7eb4ee..ec5bc072 100644 --- a/admin/lib/common.inc.bash +++ b/admin/lib/common.inc.bash @@ -35,9 +35,16 @@ then fi ;; *) - echo >&2 "$SCRIPT_NAME: cannot detect platform to set docker command" - echo >&2 "Try setting the variable \$DOCKER_CMD appropriately" - exit 71 # EX_OSERR + case "$OS" in + Windows_NT) + DOCKER_CMD='docker' + ;; + *) + echo >&2 "$SCRIPT_NAME: cannot detect platform to set docker command" + echo >&2 "Try setting the variable \$DOCKER_CMD appropriately" + exit 71 # EX_OSERR + ;; + esac ;; esac fi @@ -63,9 +70,16 @@ then fi ;; *) - echo >&2 "$SCRIPT_NAME: cannot detect platform to set docker-compose command" - echo >&2 "Try setting the variable \$DOCKER_COMPOSE_CMD appropriately" - exit 71 # EX_OSERR + case "$OS" in + Windows_NT) + DOCKER_COMPOSE_CMD='docker-compose' + ;; + *) + echo >&2 "$SCRIPT_NAME: cannot detect platform to set docker-compose command" + echo >&2 "Try setting the variable \$DOCKER_COMPOSE_CMD appropriately" + exit 71 # EX_OSERR + ;; + esac ;; esac fi From 85f8f404ee270b84267e2377486212504966afc6 Mon Sep 17 00:00:00 2001 From: yvanzo Date: Tue, 18 Oct 2022 08:30:49 +0100 Subject: [PATCH 2/3] Set Compose path separator for Docker on Windows --- admin/configure | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/admin/configure b/admin/configure index e241c5cb..1012573f 100755 --- a/admin/configure +++ b/admin/configure @@ -204,6 +204,15 @@ case "$1" in # Write to .env touch .env sed -i.bak -e '/^COMPOSE_FILE=/d' .env && rm -f .env.bak + if [[ $OS == Windows_NT ]] + then + # Mandatory to keep this script working + # https://docs.docker.com/compose/reference/envvars/#compose_path_separator + if ! grep -q '^COMPOSE_PATH_SEPARATOR=:$' "$MB_DOCKER_ROOT/.env" + then + echo 'COMPOSE_PATH_SEPARATOR=:' >> .env + fi + fi echo "COMPOSE_FILE=$(IFS=:; echo "${compose_files[*]}")" >> .env echo "Successfully set/updated COMPOSE_FILE in '$MB_DOCKER_ROOT/.env'." exit 0 # EX_OK From d8e45b7dabd40e3c7ab9a429a1017fff1e327a63 Mon Sep 17 00:00:00 2001 From: yvanzo Date: Tue, 18 Oct 2022 08:32:05 +0100 Subject: [PATCH 3/3] Enable path conversion for Docker on Windows --- admin/configure | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/admin/configure b/admin/configure index 1012573f..539a6c85 100755 --- a/admin/configure +++ b/admin/configure @@ -206,6 +206,12 @@ case "$1" in sed -i.bak -e '/^COMPOSE_FILE=/d' .env && rm -f .env.bak if [[ $OS == Windows_NT ]] then + # Optional but convenient to copy/paste paths from file explorer + # https://docs.docker.com/compose/reference/envvars/#compose_convert_windows_paths + if ! grep -q '^COMPOSE_CONVERT_WINDOWS_PATHS=' "$MB_DOCKER_ROOT/.env" + then + echo 'COMPOSE_CONVERT_WINDOWS_PATHS=1' >> .env + fi # Mandatory to keep this script working # https://docs.docker.com/compose/reference/envvars/#compose_path_separator if ! grep -q '^COMPOSE_PATH_SEPARATOR=:$' "$MB_DOCKER_ROOT/.env"