- 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
52 lines
1.5 KiB
Bash
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."
|