Fix Seafile MySQL dump authentication by using root user
Some checks failed
Deploy Borgmatic Configuration / Deploy to Production Server (push) Has been cancelled

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 <noreply@anthropic.com>
This commit is contained in:
BeauTroll
2026-01-09 13:45:10 +01:00
parent 9c29cc1bdc
commit 0ae8cb9e0e
2 changed files with 11 additions and 3 deletions

View File

@@ -41,8 +41,12 @@ UPTIME_KUMA_PUSH_URL=http://uptime-kuma:3001/api/push/YOUR_KEY_HERE
# BASES DE DONNÉES # BASES DE DONNÉES
# ============================================ # ============================================
# Mot de passe MySQL pour Seafile # Mot de passe MySQL pour Seafile (généralement MYSQL_ROOT_PASSWORD)
SEAFILE_DB_PASSWORD=your-seafile-mysql-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 # OPTIONS AVANCÉES

View File

@@ -22,11 +22,15 @@ else
echo "⚠️ /etc/borgmatic/.env non trouvé" echo "⚠️ /etc/borgmatic/.env non trouvé"
fi 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 # Vérifier que le mot de passe est défini
if [ -z "$SEAFILE_DB_PASSWORD" ]; then if [ -z "$SEAFILE_DB_PASSWORD" ]; then
echo "❌ SEAFILE_DB_PASSWORD n'est pas défini dans /etc/borgmatic/.env" echo "❌ SEAFILE_DB_PASSWORD n'est pas défini dans /etc/borgmatic/.env"
exit 1 exit 1
fi fi
echo "✓ Utilisateur MySQL: $MYSQL_USER"
echo "✓ Mot de passe MySQL défini" echo "✓ Mot de passe MySQL défini"
# Vérifier que le conteneur existe et tourne # Vérifier que le conteneur existe et tourne
@@ -41,7 +45,7 @@ echo "✓ Conteneur $MYSQL_CONTAINER trouvé"
# Dump unique avec toutes les bases # Dump unique avec toutes les bases
echo "→ Dump des bases Seafile..." echo "→ Dump des bases Seafile..."
if timeout 300 docker exec "$MYSQL_CONTAINER" mysqldump \ 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 \ --single-transaction --quick --databases \
ccnet_db seafile_db seahub_db > "$BACKUP_DIR/seafile-all-$DATE.sql" 2>&1; then ccnet_db seafile_db seahub_db > "$BACKUP_DIR/seafile-all-$DATE.sql" 2>&1; then