Files
mates-infra/install-scripts/install-docker.sh
T
mates 444191d16d feat: initial infra repo
- docker-services: 14 generic compose templates (portainer, npm, vaultwarden, gitea, jotty, nextcloud-aio, rustdesk, audiobookshelf, calibre-web, plex, erugo, jswiki, speedtest, watchtower)
- install-scripts: bash scripts for Ubuntu server bootstrap, docker, portainer, npm, backup, restore
- ansible: 4 playbooks (bootstrap, deploy-services, update-services, security-hardening) + roles skeleton
- hermes-install: Hermes CLI setup on macOS
- macos-setup: Brewfile + osx-defaults + fish-config
- home-nas-tools: metadata index for NAS projects (no binaries)
- docs: architecture, security, contributing
- README, LICENSE (MIT), .gitignore
2026-08-01 16:25:58 +02:00

52 lines
1.5 KiB
Bash

#!/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."