From 0ae8cb9e0e9c88a48f59e8486d1f6d2e1274b8f3 Mon Sep 17 00:00:00 2001 From: BeauTroll <-> Date: Fri, 9 Jan 2026 13:45:10 +0100 Subject: [PATCH] Fix Seafile MySQL dump authentication by using root user Update the Seafile MySQL dump hook to use the root user by default instead of seafile user, which resolves authentication issues. Add SEAFILE_MYSQL_USER environment variable for user customization. Co-Authored-By: Claude Sonnet 4.5 --- .env.example | 8 ++++++-- hooks/seafile-docker-mysql-backup.sh | 6 +++++- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/.env.example b/.env.example index d9c92e1..0348208 100644 --- a/.env.example +++ b/.env.example @@ -41,8 +41,12 @@ UPTIME_KUMA_PUSH_URL=http://uptime-kuma:3001/api/push/YOUR_KEY_HERE # BASES DE DONNÉES # ============================================ -# Mot de passe MySQL pour Seafile -SEAFILE_DB_PASSWORD=your-seafile-mysql-password +# Mot de passe MySQL pour Seafile (généralement MYSQL_ROOT_PASSWORD) +SEAFILE_DB_PASSWORD=your-seafile-mysql-root-password + +# Utilisateur MySQL pour les dumps (par défaut: root) +# Décommenter et modifier si vous utilisez un autre utilisateur +# SEAFILE_MYSQL_USER=seafile # ============================================ # OPTIONS AVANCÉES diff --git a/hooks/seafile-docker-mysql-backup.sh b/hooks/seafile-docker-mysql-backup.sh index 567892b..9b6def2 100644 --- a/hooks/seafile-docker-mysql-backup.sh +++ b/hooks/seafile-docker-mysql-backup.sh @@ -22,11 +22,15 @@ else echo "⚠️ /etc/borgmatic/.env non trouvé" fi +# Utilisateur MySQL (par défaut root, configurable via .env) +MYSQL_USER="${SEAFILE_MYSQL_USER:-root}" + # Vérifier que le mot de passe est défini if [ -z "$SEAFILE_DB_PASSWORD" ]; then echo "❌ SEAFILE_DB_PASSWORD n'est pas défini dans /etc/borgmatic/.env" exit 1 fi +echo "✓ Utilisateur MySQL: $MYSQL_USER" echo "✓ Mot de passe MySQL défini" # Vérifier que le conteneur existe et tourne @@ -41,7 +45,7 @@ echo "✓ Conteneur $MYSQL_CONTAINER trouvé" # Dump unique avec toutes les bases echo "→ Dump des bases Seafile..." if timeout 300 docker exec "$MYSQL_CONTAINER" mysqldump \ - -u seafile -p"${SEAFILE_DB_PASSWORD}" \ + -u "$MYSQL_USER" -p"${SEAFILE_DB_PASSWORD}" \ --single-transaction --quick --databases \ ccnet_db seafile_db seahub_db > "$BACKUP_DIR/seafile-all-$DATE.sql" 2>&1; then