How to make media libraries portable like jellyfin program? #1665

Closed
opened 2025-12-21 19:14:38 +01:00 by backuprepo · 6 comments
Owner

Originally created by @iWangJiaxiang on GitHub (May 9, 2020).

Hi, I put both portable Jellyfin program and its library on my portable hard drive. It works perfectly on my laptop that set them up.

However, when I connected the portable hard drive on another laptop, the jellyfin program could not load the library on the hard drive.

The log showed Jellyfin tried to load it from the drive J on my first laptop instead of the drive name on the current laptop.

I think the fixed absolute library path is the reason why my media libraries not loaded when OS environment changed.

Is there any way to use relative path for library?

Or do you have better way to make libraries portable?

Originally created by @iWangJiaxiang on GitHub (May 9, 2020). Hi, I put **both** portable **Jellyfin** program and its library on my portable hard drive. It works perfectly on my laptop that set them up. However, when I connected the portable hard drive on another laptop, the jellyfin program could not load the library on the hard drive. The log showed Jellyfin tried to load it from the drive `J` on my first laptop instead of the drive name on the current laptop. I think the fixed absolute library path is the reason why my media libraries not loaded when OS environment changed. Is there any way to use relative path for library? Or do you have better way to make libraries portable?
Author
Owner

@Artiume commented on GitHub (May 13, 2020):

This is a major blocker https://github.com/jellyfin/jellyfin/issues/3080

@Artiume commented on GitHub (May 13, 2020): This is a major blocker https://github.com/jellyfin/jellyfin/issues/3080
Author
Owner

@bengalih commented on GitHub (May 22, 2020):

I think best way would be to create some sort of symlink or drive mapping that can be duplicated when you move your system. This would have to map to the exact same name on each system due to #3080. I'm not sure if you are on Windows or Linux but the basic concept should be the same.

Create for example a directory called "library" at the root of the directory tree. Then create a symbolic link or junction point from the actual library location to your library root. Always reference the library by the "library" location in JF. Then if you need to change your library location you would simply update the link and JF should not know better.

Another option would be to share the library via SMB and then map a drive. As long as you always use the same drive mapping the library should appear the same to JF.

Granted, this method will take a couple minutes of setup when you move systems, but should work.

@bengalih commented on GitHub (May 22, 2020): I think best way would be to create some sort of symlink or drive mapping that can be duplicated when you move your system. This would have to map to the exact same name on each system due to #3080. I'm not sure if you are on Windows or Linux but the basic concept should be the same. Create for example a directory called "library" at the root of the directory tree. Then create a symbolic link or junction point from the actual library location to your library root. Always reference the library by the "library" location in JF. Then if you need to change your library location you would simply update the link and JF should not know better. Another option would be to share the library via SMB and then map a drive. As long as you always use the same drive mapping the library should appear the same to JF. Granted, this method will take a couple minutes of setup when you move systems, but should work.
Author
Owner

@iWangJiaxiang commented on GitHub (May 23, 2020):

Since the reason why using portable version Jellyfin is to make the installation PORTABLE, I propose adding library relative path support in jellyfin data folder.

The data folder could be specific by parameter, which could be relative. So this would make library portable.


In summary, the library path should support two forms:

  • Non-portable => Absolute path as usual.
  • Portable => Relative path to jellyfin data folder.
@iWangJiaxiang commented on GitHub (May 23, 2020): Since the reason why using portable version Jellyfin is to make the installation **PORTABLE**, I propose adding library relative path support in jellyfin `data` folder. The `data` folder could be specific by parameter, which could be relative. So this would make library portable. --- In summary, the library path should support two forms: - **Non-portable** => Absolute path as usual. - **Portable** => Relative path to jellyfin `data` folder.
Author
Owner

@stale[bot] commented on GitHub (Sep 20, 2020):

This issue has gone 120 days without comment. To avoid abandoned issues, it will be closed in 21 days if there are no new comments.
If you're the original submitter of this issue, please comment confirming if this issue still affects you in the latest release or nightlies, or close the issue if it has been fixed. If you're another user also affected by this bug, please comment confirming so. Either action will remove the stale label.
This bot exists to prevent issues from becoming stale and forgotten. Jellyfin is always moving forward, and bugs are often fixed as side effects of other changes. We therefore ask that bug report authors remain vigilant about their issues to ensure they are closed if fixed, or re-confirmed - perhaps with fresh logs or reproduction examples - regularly. If you have any questions you can reach us on Matrix or Social Media.

@stale[bot] commented on GitHub (Sep 20, 2020): This issue has gone 120 days without comment. To avoid abandoned issues, it will be closed in 21 days if there are no new comments. If you're the original submitter of this issue, please comment confirming if this issue still affects you in the latest release or nightlies, or close the issue if it has been fixed. If you're another user also affected by this bug, please comment confirming so. Either action will remove the stale label. This bot exists to prevent issues from becoming stale and forgotten. Jellyfin is always moving forward, and bugs are often fixed as side effects of other changes. We therefore ask that bug report authors remain vigilant about their issues to ensure they are closed if fixed, or re-confirmed - perhaps with fresh logs or reproduction examples - regularly. If you have any questions you can reach us on [Matrix or Social Media](https://docs.jellyfin.org/general/getting-help.html).
Author
Owner

@iWangJiaxiang commented on GitHub (Sep 21, 2020):

Any further consideration?

This would be useful when I move jellyfin data from movable hard drive to NAS docker volume storage

@iWangJiaxiang commented on GitHub (Sep 21, 2020): Any further consideration? This would be useful when I move jellyfin data from movable hard drive to NAS docker volume storage
Author
Owner

@cvium commented on GitHub (Sep 21, 2020):

There's not much to consider. Most paths are hard-coded in the database, so this is a fundamental change, and it is unlikely to happen before the database rewrite. It is also a feature request and belongs here https://features.jellyfin.org/.

For discussions we have Matrix, IRC, Discord and the forums https://forum.jellyfin.org/

@cvium commented on GitHub (Sep 21, 2020): There's not much to consider. Most paths are hard-coded in the database, so this is a fundamental change, and it is unlikely to happen before the database rewrite. It is also a feature request and belongs here https://features.jellyfin.org/. For discussions we have Matrix, IRC, Discord and the forums https://forum.jellyfin.org/
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: starred/jellyfin#1665
No description provided.