diff --git a/scripts/2_install_docker.sh b/scripts/2_install_docker.sh index b6c3578..0e5e55f 100644 --- a/scripts/2_install_docker.sh +++ b/scripts/2_install_docker.sh @@ -20,23 +20,23 @@ function copy_docker() { } function install_docker() { - if [[ ! -f ${BASE_DIR}/docker/docker.tar.gz ]]; then - prepare_docker_bin - fi - if [[ ! -f ${BASE_DIR}/docker/docker.tar.gz ]]; then - echo_red "Error: $(gettext 'Docker program does not exist')" - exit 1 - fi - if [[ ! -f "/usr/local/bin/dockerd" ]]; then + if [ ! "$(docker version --format '{{.Server.Version}}' 2>/dev/null)" = "${DOCKER_VERSION}" ]; then + if [[ ! -f ${BASE_DIR}/docker/docker.tar.gz ]]; then + prepare_docker_bin + fi + if [[ ! -f ${BASE_DIR}/docker/docker.tar.gz ]]; then + echo_red "Error: $(gettext 'Docker program does not exist')" + exit 1 + fi copy_docker fi } function install_compose() { - if [[ ! -f ${BASE_DIR}/docker/docker-compose ]]; then - prepare_compose_bin - fi - if [[ ! -f "/usr/local/libexec/docker/cli-plugins/docker-compose" ]]; then + if [ ! "$(docker compose version --short 2>/dev/null)" = "${DOCKER_COMPOSE_VERSION}" ]; then + if [[ ! -f ${BASE_DIR}/docker/docker-compose ]]; then + prepare_compose_bin + fi if [[ ! -d "/usr/local/libexec/docker/cli-plugins" ]]; then mkdir -p /usr/local/libexec/docker/cli-plugins fi @@ -45,10 +45,10 @@ function install_compose() { } function install_compose_home() { - if [[ ! -f ${BASE_DIR}/docker/docker-compose ]]; then - prepare_compose_bin - fi - if [[ ! -f "$HOME/.docker/cli-plugins/docker-compose" ]]; then + if [ ! "$(docker compose version --short 2>/dev/null)" = "${DOCKER_COMPOSE_VERSION}" ]; then + if [[ ! -f ${BASE_DIR}/docker/docker-compose ]]; then + prepare_compose_bin + fi if [[ ! -d "$HOME/.docker/cli-plugins" ]]; then mkdir -p $HOME/.docker/cli-plugins fi @@ -57,24 +57,26 @@ function install_compose_home() { } function check_docker_install() { - docker version &>/dev/null || { + if ! docker version &>/dev/null && + ! /usr/local/bin/docker version &>/dev/null && + ! /usr/bin/docker version &>/dev/null; then if check_root; then install_docker else log_warn "$(gettext 'Permission denied. pass...')" fi - } + echo_done + fi } function check_compose_install() { - docker compose version &>/dev/null || { + if ! docker compose version &>/dev/null; then if check_root; then install_compose else install_compose_home fi - } - echo_done + fi } function set_docker_config() { @@ -198,4 +200,4 @@ function main() { if [[ "$0" == "${BASH_SOURCE[0]}" ]]; then main -fi \ No newline at end of file +fi diff --git a/scripts/7_upgrade.sh b/scripts/7_upgrade.sh index 4b8406c..8f13c73 100644 --- a/scripts/7_upgrade.sh +++ b/scripts/7_upgrade.sh @@ -264,6 +264,11 @@ function upgrade_compose() { if [[ "${confirm}" == "y" ]]; then echo cd "${BASE_DIR}" || exit 1 + if check_root; then + install_compose + else + install_compose_home + fi check_compose_install check_docker_compose fi