#!/usr/bin/env bash # # Instalace Docker + Docker Compose plugin na Ubuntu 22.04/24.04 # - oficiální Docker repo # - non-interactive # - post-instalace: přidá DEPLOY_USER do docker group # # Idempotentní. # set -euo pipefail DEPLOY_USER="${DEPLOY_USER:-deploy}" [[ $EUID -eq 0 ]] || { echo "Spusť jako root: sudo bash $0" >&2; exit 1; } # 1. Příprava apt-get update -qq apt-get install -y -qq ca-certificates curl gnupg # 2. Docker GPG klíč install -m 0755 -d /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuntu/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg chmod a+r /etc/apt/keyrings/docker.gpg # 3. Docker repo ARCH=$(dpkg --print-architecture) CODENAME=$(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}") echo "deb [arch=$ARCH signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $CODENAME stable" \ > /etc/apt/sources.list.d/docker.list # 4. Instalace apt-get update -qq apt-get install -y -qq docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin # 5. Služba systemctl enable --now docker systemctl is-active --quiet docker && echo "✓ Docker běží" # 6. DEPLOY_USER do docker group (bez sudo pro docker) if id "$DEPLOY_USER" &>/dev/null; then usermod -aG docker "$DEPLOY_USER" echo "✓ $DEPLOY_USER přidán do docker group (odhlas se a prihlas pro efekt)" fi # 7. Test docker --version docker compose version echo echo "🎉 Docker nainstalován!" echo " Odhlas se a prihlas se jako $DEPLOY_USER pro práci bez sudo."