diff --git a/backup-docker.sh b/backup-docker.sh new file mode 100644 index 0000000..45a34f1 --- /dev/null +++ b/backup-docker.sh @@ -0,0 +1,14 @@ +#!/bin/bash +set -euo pipefail + +BACKUP_DIR="/NFS/BACKUPS" +DATE=$(date +%Y%m%d) +mkdir -p $BACKUP_DIR + +docker run --rm -v jellyfin_data:/source -v $BACKUP_DIR:/backup alpine \ + tar czf /backup/jellyfin-$DATE.tar.gz /source +docker run --rm -v shaarli_data:/source -v $BACKUP_DIR:/backup alpine \ + tar czf /backup/shaarli-$DATE.tar.gz /source + +# Vérification +ls -lh $BACKUP_DIR | grep -E "jellyfin|shaarli" \ No newline at end of file diff --git a/gitea-auto-update.sh b/gitea-auto-update.sh old mode 100755 new mode 100644 index 0b7467f..043cc45 --- a/gitea-auto-update.sh +++ b/gitea-auto-update.sh @@ -10,6 +10,7 @@ set -euo pipefail +<<<<<<< HEAD # ─── Charger la configuration commune ───────────────────────────────────────── SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)" CONFIG_FILE="${CONFIG_FILE:-$SCRIPT_DIR/gitea-scripts.conf}" @@ -21,6 +22,9 @@ fi # ─── Configuration locale (après chargement conf, permet surcharge env) ────── # Chemins et conteneurs +======= +# ─── Configuration (modifiable) ───────────────────────────────────────────── +>>>>>>> 63e7debb52659e8424039f6ef7c6f6fb7d29144e COMPOSE_DIR="${COMPOSE_DIR:-$HOME/dev/git/outils/docker/gitea}" COMPOSE_FILE="${COMPOSE_FILE:-docker-compose.yml}" APP_SERVICE="${APP_SERVICE:-gitea_server}" @@ -47,6 +51,9 @@ NTPY_TOPIC="${NTPY_TOPIC:-}" # Santé HEALTH_CHECK_URL="${HEALTH_CHECK_URL:-http://localhost:3000}" HEALTH_CHECK_TIMEOUT="${HEALTH_CHECK_TIMEOUT:-30}" +DB_CONTAINER="${DB_CONTAINER:-gitea_db}" +DB_NAME="${DB_NAME:-gitea}" +DB_ROOT_PASSWORD="${DB_ROOT_PASSWORD:-gitea}" # Lock file LOCK_DIR="${LOCK_DIR:-/tmp}" @@ -193,6 +200,7 @@ fi BACKUP_PRE_DIR="${BACKUP_PRE_DIR:-/tmp/gitea-pre-update-$(date +%Y%m%d-%H%M%S)}" mkdir -p "$BACKUP_PRE_DIR" +<<<<<<< HEAD log "💾 Backup DB pré-update vers $BACKUP_PRE_DIR" if docker ps --format '{{.Names}}' | grep -q "^${DB_CONTAINER}$"; then docker exec "$DB_CONTAINER" mysqldump \ @@ -204,6 +212,12 @@ if docker ps --format '{{.Names}}' | grep -q "^${DB_CONTAINER}$"; then else log "⚠️ Conteneur $DB_CONTAINER non trouvé — pas de backup pré-update" fi +======= +log "💾 Backup pré-update vers $BACKUP_PRE_DIR" +docker exec "$DB_CONTAINER" mysqldump -u root -p"$DB_ROOT_PASSWORD" "$DB_NAME" > "$BACKUP_PRE_DIR/gitea_db.sql" 2>/dev/null || { + log "⚠️ Backup pré-update DB échoué, on continue quand même" +} +>>>>>>> 63e7debb52659e8424039f6ef7c6f6fb7d29144e # Recréer le conteneur avec la nouvelle image log "🚀 Redémarrage du conteneur avec la nouvelle image..."