Subsonic Mediathek plötzlich leer? So behebst du’s!

Kennst du das Problem? Nach einem Mediensuchlauf in Subsonic ist plötzlich deine komplette Mediathek leer. Alle Songs, Alben und leere Playlists – einfach weg! Genau das ist mir passiert, nachdem ich meinen Subsonic-Server mit einer MySQL-Datenbank verbunden hatte. Der Fehler? Nach jedem Suchlauf wurde das present-Flag auf 0 gesetzt, was die Mediathek quasi unsichtbar machte.

Ich habe eine einfache Lösung gefunden: Ein Bash-Script, das die Datenbank automatisch korrigiert und deine Musik wieder sichtbar macht. Lass mich dir zeigen, wie du es nutzen kannst!

🛠 Das Fix-Script für Subsonic

Hier ist das Bash-Script, das das Problem behebt:

#!/bin/bash

# MySQL-Verbindungsinformationen
DB_USER="subsonic"
DB_PASSWORD="password"
DB_HOST="mysql-host"
DB_NAME="subsonic"

# Befehl für die Aktualisierung der Datenbank
MYSQL_COMMAND="UPDATE media_file SET present = 1 WHERE present = 0"

# MySQL-Befehl ausführen
mysql -u $DB_USER -p$DB_PASSWORD -h $DB_HOST -D $DB_NAME -e "$MYSQL_COMMAND"

Dieses Script setzt das present-Flag aller Medien von 0 auf 1, sodass sie wieder in der Mediathek erscheinen.

✍️ So nutzt du das Script

1️⃣ Script erstellen

Öffne einen Texteditor auf deinem Subsonic-Server und kopiere das obige Script hinein. Speichere die Datei unter dem Namen mysql-subsonic-updater.sh.

2️⃣ MySQL-Daten anpassen

Ändere die folgenden Werte im Script entsprechend deiner MySQL-Installation:

  • DB_USER: Dein MySQL-Benutzername
  • DB_PASSWORD: Das Passwort für den Benutzer
  • DB_HOST: Hostname oder IP deines MySQL-Servers
  • DB_NAME: Name der Subsonic-Datenbank

Sicherheitshinweis: Das Passwort im Script zu speichern, ist nicht optimal. Nutze nach Möglichkeit eine sicherere Authentifizierungsmethode oder lagere das Kennwort einfach irgendwo aus.

3️⃣ Script ausführen

Speichere das Script und mache es mit folgendem Befehl ausführbar:

chmod +x mysql-subsonic-updater.sh

Dann führst du es einfach aus:

./mysql-subsonic-updater.sh

Nach der erfolgreichen Ausführung sollten deine Medien wieder in Subsonic sichtbar sein!

⏰ Automatisierung mit Cronjob

Falls du den Mediensuchlauf regelmäßig startest, kannst du das Script automatisieren, indem du es per Cronjob ausführst. Füge dazu folgende Zeile in deine Crontab ein:

@hourly /home/scripts/mysql/mysql-subsonic-updater.sh > /dev/null 2>&1

✅ Fazit

Mit diesem einfachen Bash-Script gehört das Problem der verschwindenden Mediathek der Vergangenheit an. Falls du Fragen hast oder Unterstützung benötigst, melde dich gern in den Kommentaren!

👥 Techniverse Community

Matrix, Selfhosting, smarte IT-Lösungen und jede Menge Nerd-Talk – das findest du in der Techniverse Community.
Komm vorbei, tausch dich aus und werde ein Teil von uns.
👉 Unsere Gruppe auf Matrix: #community:techniverse.net
Wir freuen uns auf dich!

Vielen Dank fürs Teilen!