fix: update database permissions script to set ownership to root

- Modify the script to explicitly set the owner of the database directory to root, ensuring proper access for SQLite.
- Include error handling to attempt ownership change with sudo if the initial command fails, improving robustness of the script.
This commit is contained in:
Hördle Bot
2025-12-01 16:53:48 +01:00
parent b51ad2ff1a
commit 68dfba38df
3 changed files with 121 additions and 8 deletions

47
scripts/quick-fix-db.sh Executable file
View File

@@ -0,0 +1,47 @@
#!/bin/bash
# Quick-Fix für Datenbank-Berechtigungen
set -e
echo "🔧 Quick-Fix für Datenbank-Berechtigungen..."
echo ""
cd "$(dirname "$0")/.." || exit 1
# Setze Berechtigungen
echo "1⃣ Setze Berechtigungen..."
chmod 775 ./data
chmod 664 ./data/prod.db 2>/dev/null || echo " ⚠️ Datenbankdatei nicht gefunden"
# Setze Besitzer auf root (Container läuft als root)
echo "2⃣ Setze Besitzer auf root..."
sudo chown -R root:root ./data
# Zeige aktuelle Berechtigungen
echo ""
echo "✅ Berechtigungen gesetzt!"
echo ""
echo "📋 Aktuelle Berechtigungen:"
ls -ld ./data
ls -lh ./data/prod.db 2>/dev/null || echo " (Datei nicht gefunden)"
echo ""
# Teste im Container
echo "3⃣ Teste Zugriff im Container..."
if docker ps | grep -q hoerdle; then
echo " Container läuft, teste Zugriff..."
docker exec hoerdle sh -c "test -r /app/data/prod.db && echo '✅ Lesbar' || echo '❌ Nicht lesbar'"
docker exec hoerdle sh -c "test -w /app/data/prod.db && echo '✅ Schreibbar' || echo '❌ Nicht schreibbar'"
docker exec hoerdle sh -c "test -w /app/data && echo '✅ Verzeichnis schreibbar' || echo '❌ Verzeichnis nicht schreibbar'"
else
echo " ⚠️ Container läuft nicht"
fi
echo ""
echo "🔄 Starte Container neu..."
docker compose restart hoerdle 2>/dev/null || echo " ⚠️ Konnte Container nicht neustarten (vielleicht läuft docker compose nicht?)"
echo ""
echo "✅ Fertig! Prüfe jetzt die Logs:"
echo " docker logs hoerdle --tail=50"