fix: use Docker convenience script for Ubuntu/Debian

The manual apt repo setup failed because uname -m returns x86_64 but
Docker repo expects amd64 as arch name. Use get.docker.com which
handles arch/codename/GPG correctly. Also added proper arch mapping
(x86_64→amd64, aarch64→arm64) for future use.
This commit is contained in:
Renato
2026-07-27 23:31:34 +02:00
parent 18cee972f5
commit ce9223cb65
+9 -12
View File
@@ -36,7 +36,12 @@ detect_os() {
}
OS=$(detect_os)
ARCH=$(uname -m)
RAW_ARCH=$(uname -m)
case "$RAW_ARCH" in
x86_64) ARCH="amd64" ;;
aarch64) ARCH="arm64" ;;
*) ARCH="$RAW_ARCH" ;;
esac
# ── Git ──────────────────────────────────────────
if ! command -v git &>/dev/null; then
@@ -66,15 +71,7 @@ if $NEED_DOCKER; then
info "Installing Docker Engine..."
case "$OS" in
ubuntu|debian)
sudo apt update -qq
sudo apt install -y -qq ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/"$OS"/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
echo "deb [arch=$ARCH signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/$OS $(. /etc/os-release && echo "$VERSION_CODENAME") stable" \
| sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update -qq
sudo apt install -y -qq docker-ce docker-ce-cli containerd.io
curl -fsSL https://get.docker.com | sh
;;
arch|endeavouros)
sudo pacman -S --noconfirm docker
@@ -97,8 +94,8 @@ if $NEED_DOCKER; then
log "Docker Engine installed"
fi
if $NEED_COMPOSE && ! command -v docker &>/dev/null; then
# fresh install — compose plugin is already included in docker-ce package
# Re-check compose — fresh Docker install may have included it
if $NEED_COMPOSE && docker compose version &>/dev/null; then
NEED_COMPOSE=false
fi