- 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
36 lines
1.2 KiB
Bash
Executable File
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"
|