portainer/build/download_docker_compose_bin...

57 lines
1.7 KiB
Bash
Executable File

#!/bin/bash
set -euo pipefail
IFS=$'\n\t'
PLATFORM=$1
ARCH=$2
DOCKER_COMPOSE_VERSION=$3
function download_binary() {
local PLATFORM=$1
local ARCH=$2
local BINARY_VERSION=$3
if [ "${PLATFORM}" == 'linux' ] && [ "${ARCH}" == 'amd64' ]; then
wget -O "dist/docker-compose" "https://github.com/portainer/docker-compose-linux-amd64-static-binary/releases/download/${BINARY_VERSION}/docker-compose"
chmod +x "dist/docker-compose"
return
fi
if [ "${PLATFORM}" == 'mac' ]; then
wget -O "dist/docker-compose" "https://github.com/docker/compose/releases/download/${BINARY_VERSION}/docker-compose-Darwin-x86_64"
chmod +x "dist/docker-compose"
return
fi
if [ "${PLATFORM}" == 'win' ]; then
wget -O "dist/docker-compose.exe" "https://github.com/docker/compose/releases/download/${BINARY_VERSION}/docker-compose-Windows-x86_64.exe"
chmod +x "dist/docker-compose.exe"
return
fi
}
function download_plugin() {
local PLATFORM=$1
local ARCH=$2
local PLUGIN_VERSION=$3
if [ "${PLATFORM}" == 'mac' ]; then
PLATFORM="darwin"
fi
FILENAME="docker-compose-${PLATFORM}-${ARCH}"
TARGET_FILENAME="docker-compose.plugin"
if [[ "$PLATFORM" == "windows" ]]; then
FILENAME="$FILENAME.exe"
TARGET_FILENAME="$TARGET_FILENAME.exe"
fi
wget -O "dist/$TARGET_FILENAME" "https://github.com/docker/compose-cli/releases/download/v$PLUGIN_VERSION/$FILENAME"
chmod +x "dist/$TARGET_FILENAME"
}
if [ "${PLATFORM}" == 'linux' ] && [ "${ARCH}" != 'amd64' ]; then
download_plugin "$PLATFORM" "$ARCH" "$DOCKER_COMPOSE_VERSION"
fi
download_binary "$PLATFORM" "$ARCH" "$DOCKER_COMPOSE_VERSION"