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
This commit is contained in:
@@ -0,0 +1,51 @@
|
||||
#!/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."
|
||||
Reference in New Issue
Block a user