Files
g9-migration/g9-migration/scripts/03-docker.sh
T
Effi c246427cf5 Phase 4 : kit G9 (scripts + compose) + Gitea T4.4 backend Postgres
- compose/gitea : SQLite -> Postgres (source = paquet App Center DSM, gitea_db 13 repos/3 users), image épinglée 1.27.3, push-to-create
- scripts/07a-migrate-gitea.sh : export pg_dump (MVCC, .25 lecture seule) + tar/ssh (sshd DSM refuse rsync/scp) + manifestes sha256
- scripts/03b-secrets.sh : secrets gitea ajoutés
- journal.md : entrées Phase 4
2026-10-11 07:45:00 +02:00

36 lines
1.2 KiB
Bash
Executable File

#!/usr/bin/env bash
#
# 03-docker.sh — T2.3 : Docker + docker compose + groupe docker
# Idempotent. Exécuter en root.
#
# Garde-fous : G7 (rollback), G8 (journalisation).
#
# Rollback : apt-get remove docker.io docker-compose-v2 ; groupe docker supprimé manuellement.
set -euo pipefail
log() { echo -e "\n[docker] $*"; }
journal() {
local action="$1" raison="$2" resultat="$3" rollback="$4"
printf '| %s | 2 | docker : %s | %s | %s | %s |\n' "$(date '+%Y-%m-%d %H:%M')" "$action" "$raison" "$resultat" "$rollback" >> "$(dirname "$0")/../journal.md"
}
[[ $EUID -eq 0 ]] || { echo "ERREUR : exécuter en root (sudo)"; exit 1; }
log "Installation Docker + compose"
apt-get update -qq
apt-get install -y -qq docker.io docker-compose-v2
systemctl enable --now docker
# Utilisateur courant dans le groupe docker (évite sudo pour docker)
USER="${SUDO_USER:-$(whoami)}"
if [[ "$USER" != "root" ]]; then
usermod -aG docker "$USER"
log "Utilisateur '$USER' ajouté au groupe docker (reconnexion SSH requise)"
fi
journal "Docker + compose installés" "Runtime conteneurs du G9" "$USER dans le groupe docker" "apt-get remove docker.io docker-compose-v2"
log "Terminé. Vérif : docker version, docker compose version, docker run --rm hello-world"