Jellyfin auf anderes Volume umziehen

  • Ab sofort steht euch hier im Forum die neue Add-on Verwaltung zur Verfügung – eine zentrale Plattform für alles rund um Erweiterungen und Add-ons für den DSM.

    Damit haben wir einen Ort, an dem Lösungen von Nutzern mit der Community geteilt werden können. Über die Team Funktion können Projekte auch gemeinsam gepflegt werden.

    Was die Add-on Verwaltung kann und wie es funktioniert findet Ihr hier

    Hier geht es zu den Add-ons

SoniX

Benutzer
Registriert
14. Okt. 2010
Beiträge
821
Reaktionspunkte
62
Punkte
48
Hallo,

habe ein DS920+ NAS mit 4 HDD und einer M2 SSD, welche ich als Volume hinzugefügt habe.

Als Synology die Videostation sterben hatte lassen, bin ich auf Jellyfin umgestiegen.
Ich habe mich gut damit angefreundet und finde es gesamt besser, obwohl ich eine integrierte Lösung vorziehen würde (Nutzerverwaltung, Backup, etc).
Da ich Docker nicht nutze, mich damit nicht auskenne und nicht extra dafür Docker anlernen und einrichten wollte und sowieso ein Paket von Synocommunity bereitsteht, habe ich dieses genutzt.

Nun zu meinem Problem:
Ich hatte es damals auf volume1 installiert. Da Jellyfin aber doch massiv auf den Datenträger zugreift (Datenbank, Metadaten, etc) und ich sehr viele Videos damit verwalte, hätte ich es nun gerne auf volume5, der M2 SSD.

Ich möchte also die komplette Jellyfininstallation inkl. aller Metadaten und Cache von volume1 auf volume5 verschieben.

Es hat sich herausgestellt, ich bin dafür zu dumm.

Was ich versucht habe:
Ich habe das App-mover Script versucht, aber Jellyfin hatte daraufhin nicht gestartet. Offenbar gibt es irgendwo ein Configfile wo man den Pfad anpassen müsste.
Ich habe Dutzende Seiten durch, aber nirgendwo kann ich die config files finden. Alle offiziellen Pfade existieren so nicht.
Ich hatte daraufhin das Paket deinstalliert und auf volume5 neu installiert, aber auch hier wollte es nicht starten.
Damit wäre eigentlich die Datenbank und die Installation auf volume5, aber ein durch App mover verschobenes config file zeigt wohl immernoch auf den falschen Ort.

Daraufhin alles rückgängig gemacht und mit App-mover wieder auf volume1 geschoben. Läuft.
Dann ohne App-mover, nur App deinstalliert und auf volume5 installiert. Das startet, aber meine Datenbank ist weg, alles leer. Ich will es aber vermeiden alles neu einrichten zu müssen.

Bitte wie kann ich alle Metadaten inkl App verschieben?

Danke
 
Weiß denn niemand was?

Ich müsste wohl nur wissen wo das config file liegt in welchem die Pfade von Jellyfin gespeichert sind.

Alle config files die ich bislang gefunden habe, beinhalten aber keine config. Keine Ahnung wie das bei Synology aufgebaut ist mit @appdata, @appconfig, @app... ich kann es nirgendwo finden, aber es muss da sein.
 
Habe Emby, aber das ist ja ähnlich.
Mach doch ein Backup in Jellyfin. App Löschen, neu installieren und backup zurück.
Wenn das nicht geht einstellungen notieren, lösch, neu installieren, Einstellungen wieder eingeben und neu Scannen.
Sollte alles nicht länger als 30 Min dauern.
 
  • Like
Reaktionen: Kachelkaiser
Backup hatte ich versucht, bricht nach wenigen Minuten mit unbekanntem Fehler ab. Ich vermute es kann dort wo es sichern will, nicht schreiben. Aber da ich nicht weiß wo die config files liegen, kann ich das nicht korrigieren.

Neu installieren ist natürlich möglich. Aber dann sind die Benutzer auch weg, die müsste ich neu anlegen (ich kenne deren Passwörter nicht). Das ist der Hauptkritikpunkt einer nicht nativen Anwendung; jede Anwendung hat dann eine eigene Nutzerverwaltung. Und das Scannen benötigt leider einige Tage aufgrund der Menge.

Wenns irgendwie geht, will ich es vermeiden neu einzurichten.
 
Wie nicht nativ? Hast du Jellyfin im Docker installiert?
Dann wäre es doch ganz einfach.
 
Ich denke, mit "nicht nativ", meint @SoniX, dass hier nicht die Benutzerverwaltung von Synology greift, sondern die eigene von Jellyfin.

Benutzer auch weg, die müsste ich neu anlegen (ich kenne deren Passwörter nicht)
Das Problem verstehe ich nur begrenzt. Einfaches Passwort setzen, den User mitteilen und dann können die doch das Passwort wieder auf das alte ändern, oder?

Und das Scannen benötigt leider einige Tage aufgrund der Menge.
Sind das so viele Medien? Mein Jellyfin auf Proxmox hat für den ersten Scan ca. 2h gebraucht. Dann war alles drin. Wenn das Backup nicht funktioniert und du nix anpassen kannst, bleibt aber fast nur die Neueinrichtung. Auf der Synology Konsole bin ich auch nicht so fit. Ich kann leider auch nicht sagen, wo die Community Edition die Config speichert.
 
Wenn NFOs in den Verzeichnissen sind sollte das eigentlich schnell gehen. Ich habe 2000 Filme und über 100 Serien.
Das hat bei mir auch nicht länger als 2 Studen gedauert. Eher weniger.
 
Nicht native Synology Anwendung meinte ich. Auch kein Docker. Das Paket von Synocommunity.

Ich hab nfo files vollständig bei den Videos liegen. Aber es sind irgendwas 300.000 Videofiles... und die Beschreibungen, Schauspieler, etc lädt er dann ja auch und baut die Datenbank auf. Mit den nfo files weiß er ja "nur" was es ist.

Deswegen der gewünschte Umzug auf die SSD weil die Millionen an files auf HDD zäh sind.
 
Hatte ich versucht. Klappt auf Synology Seite auch. Aber auf Jellyfin Seite kann er dann nichtmehr auf die Datenbank zugreifen. Irgendwo in einem config file von Jellyfin müsste man das volume umstellen. Das config file existiert, es wird auch mit verschoben, aber ich kann es nicht finden. Es wäre ein einfaches den Pfad abzuändern wenn ich wüsste wo.
 
  • Wow
Reaktionen: ctrlaltdelete
Schon mal im Jellyfin Forum (falls es sowas gibt) gefragt?
Sonst im Emby Forum.
 
Dann würde ich mal @DaveR kontaktieren, vielleicht kann er dir da weiterhelfen
 
Which version of syno_app_mover did you use?

What does this command return?

Code:
cat /var/packages/jellyfin/var/config/system.xml

And this one?

Code:
cat /var/packages/jellyfin/var/jellyfin.log
 
Oh Dave,

Sorry, I didn't receive a notification about your post.

Which version of syno_app_mover did you use?

I used 4.2.96

What does this command return?

Code:
cat /var/packages/jellyfin/var/config/system.xml

Code:
<?xml version="1.0" encoding="utf-8"?>
<ServerConfiguration xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <LogFileRetentionDays>3</LogFileRetentionDays>
  <IsStartupWizardCompleted>true</IsStartupWizardCompleted>
  <CachePath>/volume1/@appdata/jellyfin/cache</CachePath>
  <EnableMetrics>false</EnableMetrics>
  <EnableNormalizedItemByNameIds>true</EnableNormalizedItemByNameIds>
  <IsPortAuthorized>true</IsPortAuthorized>
  <QuickConnectAvailable>false</QuickConnectAvailable>
  <EnableCaseSensitiveItemIds>true</EnableCaseSensitiveItemIds>
  <DisableLiveTvChannelUserDataName>true</DisableLiveTvChannelUserDataName>
  <MetadataPath>/volume1/@appdata/jellyfin/data/metadata</MetadataPath>
  <PreferredMetadataLanguage>de</PreferredMetadataLanguage>
  <MetadataCountryCode>AT</MetadataCountryCode>
  <SortReplaceCharacters>
    <string>.</string>
    <string>+</string>
    <string>%</string>
  </SortReplaceCharacters>
  <SortRemoveCharacters>
    <string>,</string>
    <string>&amp;</string>
    <string>-</string>
    <string>{</string>
    <string>}</string>
    <string>'</string>
  </SortRemoveCharacters>
  <SortRemoveWords>
    <string>the</string>
    <string>a</string>
    <string>an</string>
  </SortRemoveWords>
  <MinResumePct>5</MinResumePct>
  <MaxResumePct>90</MaxResumePct>
  <MinResumeDurationSeconds>300</MinResumeDurationSeconds>
  <MinAudiobookResume>5</MinAudiobookResume>
  <MaxAudiobookResume>5</MaxAudiobookResume>
  <InactiveSessionThreshold>0</InactiveSessionThreshold>
  <LibraryMonitorDelay>60</LibraryMonitorDelay>
  <LibraryUpdateDuration>30</LibraryUpdateDuration>
  <CacheSize>400</CacheSize>
  <ImageSavingConvention>Legacy</ImageSavingConvention>
  <MetadataOptions>
    <MetadataOptions>
      <ItemType>Book</ItemType>
      <DisabledMetadataSavers />
      <LocalMetadataReaderOrder />
      <DisabledMetadataFetchers />
      <MetadataFetcherOrder />
      <DisabledImageFetchers />
      <ImageFetcherOrder />
    </MetadataOptions>
    <MetadataOptions>
      <ItemType>Movie</ItemType>
      <DisabledMetadataSavers />
      <LocalMetadataReaderOrder />
      <DisabledMetadataFetchers />
      <MetadataFetcherOrder />
      <DisabledImageFetchers />
      <ImageFetcherOrder />
    </MetadataOptions>
    <MetadataOptions>
      <ItemType>MusicVideo</ItemType>
      <DisabledMetadataSavers />
      <LocalMetadataReaderOrder />
      <DisabledMetadataFetchers>
        <string>The Open Movie Database</string>
      </DisabledMetadataFetchers>
      <MetadataFetcherOrder />
      <DisabledImageFetchers>
        <string>The Open Movie Database</string>
      </DisabledImageFetchers>
      <ImageFetcherOrder />
    </MetadataOptions>
    <MetadataOptions>
      <ItemType>Series</ItemType>
      <DisabledMetadataSavers />
      <LocalMetadataReaderOrder />
      <DisabledMetadataFetchers />
      <MetadataFetcherOrder />
      <DisabledImageFetchers />
      <ImageFetcherOrder />
    </MetadataOptions>
    <MetadataOptions>
      <ItemType>MusicAlbum</ItemType>
      <DisabledMetadataSavers />
      <LocalMetadataReaderOrder />
      <DisabledMetadataFetchers>
        <string>TheAudioDB</string>
      </DisabledMetadataFetchers>
      <MetadataFetcherOrder />
      <DisabledImageFetchers />
      <ImageFetcherOrder />
    </MetadataOptions>
    <MetadataOptions>
      <ItemType>MusicArtist</ItemType>
      <DisabledMetadataSavers />
      <LocalMetadataReaderOrder />
      <DisabledMetadataFetchers>
        <string>TheAudioDB</string>
      </DisabledMetadataFetchers>
      <MetadataFetcherOrder />
      <DisabledImageFetchers />
      <ImageFetcherOrder />
    </MetadataOptions>
    <MetadataOptions>
      <ItemType>BoxSet</ItemType>
      <DisabledMetadataSavers />
      <LocalMetadataReaderOrder />
      <DisabledMetadataFetchers />
      <MetadataFetcherOrder />
      <DisabledImageFetchers />
      <ImageFetcherOrder />
    </MetadataOptions>
    <MetadataOptions>
      <ItemType>Season</ItemType>
      <DisabledMetadataSavers />
      <LocalMetadataReaderOrder />
      <DisabledMetadataFetchers />
      <MetadataFetcherOrder />
      <DisabledImageFetchers />
      <ImageFetcherOrder />
    </MetadataOptions>
    <MetadataOptions>
      <ItemType>Episode</ItemType>
      <DisabledMetadataSavers />
      <LocalMetadataReaderOrder />
      <DisabledMetadataFetchers />
      <MetadataFetcherOrder />
      <DisabledImageFetchers />
      <ImageFetcherOrder />
    </MetadataOptions>
  </MetadataOptions>
  <SkipDeserializationForBasicTypes>true</SkipDeserializationForBasicTypes>
  <ServerName>DS-920plus</ServerName>
  <UICulture>de</UICulture>
  <SaveMetadataHidden>false</SaveMetadataHidden>
  <ContentTypes />
  <RemoteClientBitrateLimit>15000000</RemoteClientBitrateLimit>
  <EnableFolderView>true</EnableFolderView>
  <EnableGroupingMoviesIntoCollections>false</EnableGroupingMoviesIntoCollections>
  <EnableGroupingShowsIntoCollections>false</EnableGroupingShowsIntoCollections>
  <DisplaySpecialsWithinSeasons>true</DisplaySpecialsWithinSeasons>
  <CodecsUsed />
  <PluginRepositories>
    <RepositoryInfo>
      <Name>Jellyfin Stable</Name>
      <Url>https://repo.jellyfin.org/files/plugin/manifest.json</Url>
      <Enabled>true</Enabled>
    </RepositoryInfo>
  </PluginRepositories>
  <EnableExternalContentInSuggestions>false</EnableExternalContentInSuggestions>
  <ImageExtractionTimeoutMs>0</ImageExtractionTimeoutMs>
  <PathSubstitutions />
  <EnableSlowResponseWarning>true</EnableSlowResponseWarning>
  <SlowResponseThresholdMs>500</SlowResponseThresholdMs>
  <CorsHosts>
    <string>*</string>
  </CorsHosts>
  <ActivityLogRetentionDays>30</ActivityLogRetentionDays>
  <LibraryScanFanoutConcurrency>0</LibraryScanFanoutConcurrency>
  <LibraryMetadataRefreshConcurrency>0</LibraryMetadataRefreshConcurrency>
  <AllowClientLogUpload>true</AllowClientLogUpload>
  <DummyChapterDuration>0</DummyChapterDuration>
  <ChapterImageResolution>MatchSource</ChapterImageResolution>
  <ParallelImageEncodingLimit>0</ParallelImageEncodingLimit>
  <CastReceiverApplications>
    <CastReceiverApplication>
      <Id>F007D354</Id>
      <Name>Stable</Name>
    </CastReceiverApplication>
    <CastReceiverApplication>
      <Id>6F511C87</Id>
      <Name>Unstable</Name>
    </CastReceiverApplication>
  </CastReceiverApplications>
  <TrickplayOptions>
    <EnableHwAcceleration>false</EnableHwAcceleration>
    <EnableHwEncoding>false</EnableHwEncoding>
    <EnableKeyFrameOnlyExtraction>false</EnableKeyFrameOnlyExtraction>
    <ScanBehavior>NonBlocking</ScanBehavior>
    <ProcessPriority>BelowNormal</ProcessPriority>
    <Interval>10000</Interval>
    <WidthResolutions>
      <int>320</int>
    </WidthResolutions>
    <TileWidth>10</TileWidth>
    <TileHeight>10</TileHeight>
    <Qscale>4</Qscale>
    <JpegQuality>90</JpegQuality>
    <ProcessThreads>1</ProcessThreads>
  </TrickplayOptions>
  <EnableLegacyAuthorization>true</EnableLegacyAuthorization>
</ServerConfiguration>

And this one?

Code:
cat /var/packages/jellyfin/var/jellyfin.log
 

Anhänge

Zuletzt bearbeitet:
Wäre es hier nicht sinnvoller gewesen, das Log als Datei anzuhängen, als es über 3 Postings zu verteilen?
 
Ja. An diese Möglichkeit hatte ich nicht gedacht. Habe es korrigiert.
 
Zuletzt bearbeitet von einem Moderator:
I just installed jellyfin on volume2, added a library on volume2, moved jellyfin to volume1 with syno_app_mover and all my metadata is still there.

Then I move the video shared folder from volume2 to volume1 and all my metadata is still there.

I have jellyfin set to save nfo files and artwork to the media folders.
1763325943010.png

1763325954822.png

Strangely jellyfin still shows the video shared folder as being on volume2.
1763326070334.png

So I added /volume1/video/Movies and deleted /volume2/video/Movies and when I clicked OK I got an error about the database being in an invalid state or file system path error. But everything still works and when I check the Folders it now shows volume1.

1763326466298.png
 
Thank you for your answer.

My problem occurs before; when starting Jellyfin.

After moving from volume1 to volume5 i get following when starting jellyfin:
jellyfin error.jpg

The log file says (see attachment):
Code:
System.UnauthorizedAccessException: Access to the path '/volume1/@appdata/jellyfin' is denied.

Somehow it still tries to access volume1.

When I move back with script, all works again.
 

Anhänge

Sounds like you have Jellyfin using it's default database instead of saving nfo files and metadata where the media is located.

Looking at your log I see:
  1. 20 lines of /volume1/@appdata/jellyfin/cache/transcodes
  2. 6 errors like: [ERR] [69] Jellyfin.Api.Middleware.ExceptionMiddleware: Error processing request: "Could not find file '/volume1/@appdata/jellyfin/data/metadata/People/J/Joe Pesci/folder.jpg'"
  3. 6 lines like: file:\"/volume2/series P-Z/Roswell (FHD DVD AI Upscale) 1999-20
So it's still trying to access volume1 and volume2, even when everything is installed on volume5.

After you've moved jellyfin to volume 5 try uninstalling jellyfin (but don't select "delete data") then install jellyfin on volume 5.

I'd probably also try disabling transcoding and upscaling. You can enable it again once everything's working.
 
  • Like
Reaktionen: ctrlaltdelete

Additional post fields

 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat