Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 23 additions & 2 deletions ethd
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,14 @@ set -Eeuo pipefail
__project_name="Eth Docker"
__app_name="Ethereum node"
__sample_service="consensus"
__min_env_version=56
__min_env_version=55
__target_pg=18
__current_docker=29
__docker_exe="docker"
__old_docker=0
__oldish_docker=0
__docker_sudo=""
__docker_version=""
__docker_major_version=""
__docker_minor_version=""
__docker_patch_version=""
Expand All @@ -21,7 +25,6 @@ __compose_upgraded=0
__distro=""
__os_major_version=""
__os_minor_version=""
__target_pg=18
__min_ubuntu=22
__suggest_ubuntu="24.04 or 22.04."
__upgrade_ubuntu="24.04: https://gist.github.com/yorickdowne/94f1e5538007f4c9d3da7b22b0dc28a4"
Expand Down Expand Up @@ -161,6 +164,12 @@ __handle_docker() {
__old_docker=0
fi

# Warn user if their Docker-CE on Debian/Ubuntu is old. Maybe they're not updating.
if [[ "${__distro}" =~ (debian|ubuntu) && "${__docker_exe}" = "docker" && "${__docker_major_version}" -lt "${__current_docker}" ]] \
&& dpkg-query -W -f='${Status}' docker-ce 2>/dev/null | grep -q "ok installed"; then
__oldish_docker=1
fi

if ! docker images >/dev/null 2>&1; then
if [[ "${__cannot_sudo}" -eq 1 ]]; then
echo "Cannot call Docker and cannot use sudo. Please make your user part of the docker group"
Expand Down Expand Up @@ -6358,3 +6367,15 @@ if [[ "${__old_compose}" -eq 1 && "${__compose_major}" -eq 2 ]]; then
echo "Please do so by running: \"sudo apt update && sudo apt dist-upgrade\""
fi
fi

if [[ "${__oldish_docker}" -eq 1 ]]; then
echo "You are using Docker-CE version ${__docker_version}, which is not current."
current_docker_release=$(curl -m5 -s -H "User-Agent: eth-docker" "https://api.github.com/repos/moby/moby/releases/latest" 2>/dev/null | jq -r '.tag_name // empty' 2>/dev/null) || true
if [[ -n "${current_docker_release}" && "${current_docker_release}" =~ ^v[0-9]+\.[0-9]+\.[0-9]+$ ]]; then
echo "The current Docker-CE release is ${current_docker_release}"
fi
echo "Try a \"sudo apt update && sudo apt dist-upgrade\". If that does not bring in an updated Docker-CE,"
echo "its repo file may have become disabled during an OS upgrade. Check \"/etc/apt/sources.list.d\" for"
echo "your Docker repo \".list\" or \".sources\", and if it's been disabled, recreate it or re-enable it."
echo "See https://docs.docker.com/engine/install/ for instructions."
fi
Loading