Files
hoerdle/scripts/quick-fix-db.sh
Hördle Bot 68dfba38df 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.
2025-12-01 16:53:48 +01:00

48 lines
1.5 KiB
Bash
Executable File
Raw Permalink Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/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"