• Login
  • Register
  • Login Register
    Login
    Username/Email:
    Password:
    Or login with a social network below
  • Forum
  • Website
  • GitHub
  • Status
  • Translation
  • Features
  • Team
  • Rules
  • Help
  • Feeds
User Links
  • Login
  • Register
  • Login Register
    Login
    Username/Email:
    Password:
    Or login with a social network below

    Useful Links Forum Website GitHub Status Translation Features Team Rules Help Feeds
    Jellyfin Forum Support General Questions Moving libraries to a different disk

    Pages (3): « Previous 1 2 3 Next »

     
    • 0 Vote(s) - 0 Average

    Moving libraries to a different disk

    How to move libraries (on macOS)?
    TheDreadPirate
    Offline

    Community Moderator

    Posts: 16,531
    Threads: 11
    Joined: 2023 Jun
    Reputation: 492
    Country:United States
    #11
    2024-11-23, 04:26 PM (This post was last modified: 2024-11-23, 04:26 PM by TheDreadPirate.)
    Did you create a NEW library with the new paths? Or did you add the new paths to the EXISTING library? If I was not clear in my directions, you should be adding the new path to the EXISTING library. Libraries can have more than one folder in them.
    Jellyfin 12.2 (Docker)
    Debian 13 w/Xanmod amd64v3 LTS kernel
    AMD Ryzen 5500 w/32GB DDR4
    Intel Arc A380
    OS drive - SK Hynix P41 1TB
    ZFS Storage pool
        vdev1 - 6x WD Red Pro 6TB CMR in RAIDZ1
        vdev2 - 3x WD Red Pro 18TB CMR in RAIDZ1
    [Image: GitHub%20Sponsors-grey?logo=github]
    jellyfin
    Offline

    Member

    Posts: 57
    Threads: 12
    Joined: 2024 Nov
    Reputation: 0
    Country:Germany
    #12
    2024-11-23, 04:26 PM
    It starts up fine, but rescanning does doubles the movies.
    Very strange.
    jellyfin
    Offline

    Member

    Posts: 57
    Threads: 12
    Joined: 2024 Nov
    Reputation: 0
    Country:Germany
    #13
    2024-11-23, 04:46 PM
    (2024-11-23, 04:26 PM)TheDreadPirate Wrote: Did you create a NEW library with the new paths?  Or did you add the new paths to the EXISTING library?  If I was not clear in my directions, you should be adding the new path to the EXISTING library.  Libraries can have more than one folder in them.

    Oh.
    No.
    I did not get this.
    I was adding new folders as new libraries ...

    Thanks a again, I will retry :-)
    jellyfin
    Offline

    Member

    Posts: 57
    Threads: 12
    Joined: 2024 Nov
    Reputation: 0
    Country:Germany
    #14
    2024-11-23, 07:15 PM
    (2024-11-23, 04:26 PM)TheDreadPirate Wrote: Did you create a NEW library with the new paths?  Or did you add the new paths to the EXISTING library?  If I was not clear in my directions, you should be adding the new path to the EXISTING library.  Libraries can have more than one folder in them.

    OMG, it worked!

    :-)
    :-)
    :-)

    Here, also all movies were doubled after the scanning, but removing the original (and empty) Library folders cleaned that up!

    I am up and running on the new disk!

    I am very grateful :-)
    jellyfin
    Offline

    Member

    Posts: 57
    Threads: 12
    Joined: 2024 Nov
    Reputation: 0
    Country:Germany
    #15
    2024-11-24, 12:39 AM
    (2024-11-23, 07:15 PM)jellyfin Wrote:
    (2024-11-23, 04:26 PM)TheDreadPirate Wrote: Did you create a NEW library with the new paths?  Or did you add the new paths to the EXISTING library?  If I was not clear in my directions, you should be adding the new path to the EXISTING library.  Libraries can have more than one folder in them.

    OMG, it worked!

    :-)
    :-)
    :-)

    Here, also all movies were doubled after the scanning, but removing the original (and empty) Library folders cleaned that up!

    I am up and running on the new disk!

    I am very grateful :-)

    I was a bit in hurry and didn't check enough movies...

    Now I see that metadata is still broken, see screenshot.

       

    Sadly, I am fully moved now and added more movies and stuff.

    I am forced to redo everything: Identify movies and shows, give them better names.
    I very much hate this.

    A migration really should not be impossible like it is now.
    I even wanted to try Plex, but I cannot even try the software without creating an account. And don't use software that requires an account creation, so that is out too.
    TheDreadPirate
    Offline

    Community Moderator

    Posts: 16,531
    Threads: 11
    Joined: 2023 Jun
    Reputation: 492
    Country:United States
    #16
    2024-11-24, 01:36 AM
    Is this a mixed library?
    Jellyfin 12.2 (Docker)
    Debian 13 w/Xanmod amd64v3 LTS kernel
    AMD Ryzen 5500 w/32GB DDR4
    Intel Arc A380
    OS drive - SK Hynix P41 1TB
    ZFS Storage pool
        vdev1 - 6x WD Red Pro 6TB CMR in RAIDZ1
        vdev2 - 3x WD Red Pro 18TB CMR in RAIDZ1
    [Image: GitHub%20Sponsors-grey?logo=github]
    jellyfin
    Offline

    Member

    Posts: 57
    Threads: 12
    Joined: 2024 Nov
    Reputation: 0
    Country:Germany
    #17
    2024-11-24, 11:08 AM
    (2024-11-24, 01:36 AM)TheDreadPirate Wrote: Is this a mixed library?

    I have two separate Movie, one Show, one Home video and now one Music video Library.

    I only configured lots of detail in one of the Movie Libraries.

    Don't worry anymore, I will try around a bit more ...
    Thanks for you help!

    This is something only the developers could do and it seems they have no interests in migrations to new storage, which is irritating.
    But it is as it is.
    jellyfin
    Offline

    Member

    Posts: 57
    Threads: 12
    Joined: 2024 Nov
    Reputation: 0
    Country:Germany
    #18
    2024-11-24, 01:06 PM
    I now also tried https://github.com/jellyfin/jellyfin/discussions/6924 with the given SQlite commands, but I still get all movies doubled, and the new entries are clearly from a fresh scan, as they have no changes done by me to the metadata and often point to a wrong movie, title or image.

    I am short before giving up.

    It is like the developers tried really hard to make migrations impossible!
    But they implemented an easy way to change the location for the Jellyfin configuration itself ..

    Unbelievable.
    jellyfin
    Offline

    Member

    Posts: 57
    Threads: 12
    Joined: 2024 Nov
    Reputation: 0
    Country:Germany
    #19
    2024-11-24, 02:43 PM (This post was last modified: 2024-11-24, 02:44 PM by jellyfin. Edited 1 time in total.)
    I found out more!

    Code:
    sqlite> SELECT Name,Path,HEX(guid) as guid,HEX(ParentId) as parentid,TopParentId,PresentationUniqueKey,UserDataKey FROM typedbaseitems WHERE hex(ParentId) = (SELECT hex(guid) FROM typedbaseitems WHERE type = 'MediaBrowser.Controller.Entities.AggregateFolder') ORDER BY Name ;

    INTERNET|/Volumes/XTRMQ/MEDIA/INTERNET|F17B5FB1A7A65125BCFF69C95D57F289|37AA7CF214E52522CCEDED48F6553502|b15f7bf1a6a72551bcff69c95d57f289|b15f7bf1a6a72551bcff69c95d57f289|b15f7bf1-a6a7-2551-bcff-69c95d57f289
    INTERNET|/Volumes/XTRMQ/MEDIA/INTERNET|E7624A7F08ADAD3B05693ACDAC81F61A|37AA7CF214E52522CCEDED48F6553502|7f4a62e7ad083bad05693acdac81f61a|7f4a62e7ad083bad05693acdac81f61a|7f4a62e7-ad08-3bad-0569-3acdac81f61a

    MOVIES|/Volumes/XTRMQ/MEDIA/MOVIES|BDFFC07943EEECE12ABC61E3FADDF700|37AA7CF214E52522CCEDED48F6553502|79c0ffbdee43e1ec2abc61e3faddf700|79c0ffbdee43e1ec2abc61e3faddf700|79c0ffbd-ee43-e1ec-2abc-61e3faddf700
    MOVIES|/Volumes/XTRMQ/MEDIA/MOVIES|E6026DCC3C642CEB1C17AB4A881FE7DA|37AA7CF214E52522CCEDED48F6553502|cc6d02e6643ceb2c1c17ab4a881fe7da|cc6d02e6643ceb2c1c17ab4a881fe7da|cc6d02e6-643c-eb2c-1c17-ab4a881fe7da

    PRIVATE|/Volumes/XTRMQ/MEDIA/PRIVATE|A6EC99ABFD114741DCAB49F0D087A2C9|37AA7CF214E52522CCEDED48F6553502|ab99eca611fd4147dcab49f0d087a2c9|ab99eca611fd4147dcab49f0d087a2c9|ab99eca6-11fd-4147-dcab-49f0d087a2c9
    PRIVATE|/Volumes/XTRMQ/MEDIA/PRIVATE|19EAA92527086AE320FE1AFC3EEFD57D|37AA7CF214E52522CCEDED48F6553502|25a9ea190827e36a20fe1afc3eefd57d|25a9ea190827e36a20fe1afc3eefd57d|25a9ea19-0827-e36a-20fe-1afc3eefd57d

    SERIES|/Volumes/XTRMQ/MEDIA/SERIES|EAB3D01034C1B9E26F88B0336B3D681C|37AA7CF214E52522CCEDED48F6553502|10d0b3eac134e2b96f88b0336b3d681c|10d0b3eac134e2b96f88b0336b3d681c|10d0b3ea-c134-e2b9-6f88-b0336b3d681c
    SERIES|/Volumes/XTRMQ/MEDIA/SERIES|CB97ECCF0EE8608C61CDAE4EEC30703F|37AA7CF214E52522CCEDED48F6553502|cfec97cbe80e8c6061cdae4eec30703f|cfec97cbe80e8c6061cdae4eec30703f|cfec97cb-e80e-8c60-61cd-ae4eec30703f



    This is the root for the doubled entries!

    In the link mentioned above, there is a second set of commands for such a migration and here, the problem is mentioned.

    Sadly, the given syntax to remove the doubled entries does not work:

    Code:
    sqlite> UPDATE TypedBaseItems Set ParentId=x'destGUID', TopParentId=x'destTopParentID' WHERE ParentId = x'sourceGUID';
    Parse error: unrecognized token: "x'destGUID'"
      UPDATE TypedBaseItems Set ParentId=x'destGUID', TopParentId=x'destTopParentID'
                          error here ---^
    huevosolo
    Offline

    Junior Member

    Posts: 1
    Threads: 0
    Joined: 2025 Aug
    Reputation: 0
    Country:Sweden
    #20
    2025-08-01, 05:32 AM (This post was last modified: 2026-09-06, 11:34 AM by huevosolo. Edited 5 times in total.)
    This thread is a year old, but I found a very easy way to do this for users that run a Linux distro that worked on my first attempt. Perhaps you can find other, similar methods for other operating systems.

    1) Shutdown your Jellyfin server completely. Either in the Dashboard menu or by using the terminal, e.g. killall jellyfin

    2) Create a copy of your current drive that you want to replace to the new drive that you want to use. Make sure you preserve: Time, Permissions, Owner and Group.

    For beginners, I can recommend installing Grsync, which is a very simple rsync GUI. It allows you to very easily tick boxes for all the options above and run the process.

    After it is done, unmount and switch the drives.

    3) Create a symlink (symbolic link) with the following command:

    sudo ln -s "/media/[username]/[name of new drive]" "/media/[username]/[name of old drive]"

    This will make it so that everything in your system that tries to access your old drive's path will instead be redirected automatically to fetch the same directories and files from your new drive's path. This is assuming that the directories and files inside are identical, which they will be if you followed the instructions in Step 2.

    An example, just to be ultra clear:
    sudo ln -s "/media/user/Ironwolf Pro 8TB" "/media/user/HGST 1TB"
    In this example, Ironwolf Pro 8TB is my new drive that I am going to use and HGST 1TB is the old drive that I want to replace.

    4) Before restarting Jellyfin, you can test that it works by simply using an ls command on the old drive that is no longer mounted on your system. But because of the symlink, it should still list the directories as in this example below.

    ls "/media/user/HGST 1TB"
    lost+found Movies Music 'Music Videos' TV

    If it shows the directories that are now actually on the new drive, then the symlink has been set up successfully and you can restart the Jellyfin server. If you restart it in the terminal, you should be able to see that the server successfully finds your old drive, despite not being mounted anymore.

    A very easy workaround!
    Pages (3): « Previous 1 2 3 Next »

    « Next Oldest | Next Newest »

    Users browsing this thread: 1 Guest(s)


    • View a Printable Version
    • Subscribe to this thread
    Forum Jump:

    Home · Team · Help · Contact
    © Designed by D&D - Powered by MyBB
    L


    Jellyfin

    The Free Software Media System

    Linear Mode
    Threaded Mode