How to use an SMB share on your NAS with Jellyfin on Windows
After the recent privacy controversy, I decided that it was time to find a replacement for Plex. Many recommendations pointed me to Jellyfin, a system which was forked from Emby, which itself was forked from Plex. I installed it, and started adding my libraries, but quickly found out that the content I had saved on my NAS was not able to be easily mounted (or so I thought). It turns out that Jellyfin really doesn’t want you to use SMB shares, even mounted network drives, but no matter, we’re professionals here. And so I’m going to show you how to use an SMB share on your NAS with Jellyfin on Windows.
We’re going to accomplish this by using a fun trick called a symbolic link. You can think of a symbolic link like an operating system-level path redirection, where one location is sym-linked (or mounted) to a link somewhere else. So for example, if you have a C:
drive and an X:
drive, but you really only ever want to use C:
, you can mount that X:
drive to a folder, let’s call it x-drive
(but in reality, it can be anything you want) in C:
so that to any application, you would browse to C:\x-drive
and you would see the contents of X:
. Crucially, the application has no knowledge of the symlink, it just sees it as a regular folder in C:
. Crucially though, you are not limited to only mounting physical drives in other places; you can also mount network locations via symlinks.
Do you see where we’re going with this? We’re going to mount the SMB folder into a folder on a local drive and Jellyfin will see it as just another folder.
- Make sure the Jellyfin service is running as an actual user, and not the SYSTEM account. You can verify (and change, if necessary) by opening the Services MMC (Start -> Run ->
services.msc
). Preferably, set it to use the same user account you actually login to your computer with. This will make it easier for the following steps. - Ensure that on your NAS, there is a user account created there (and this is crucial) with the exact same username and password as your PC. They must match character-for-character. So if your username on your PC is
bobjones
and your password isQ!W@e3r4T%Y^U&I*
the account on your NAS should bebobjones
andQ!W@e3r4T%Y^U&I*
too. - Open a PowerShell prompt as an adminstrator
- Decide on the local physical drive and folder name you’d like to mount the network folder to, and then have the network path to the folder ready. In this example, I’ll use
C:\NAS
for the local location, and\\NAS-01\Files
, but remember that the local location can be any folder you want, as long as it does NOT currently exist; this process will create the mounted folder and will fail if you try to mount the network folder to a folder that already exists. - In PowerShell, enter the following command:
New-Item -ItemType SymbolicLink -Path C:\NAS\ -Target \\NAS-01\Files
- Open the Jellyfin console and confirm that you can now see
C:\NAS
(or whatever you decided to call your mountpoint)
The fact that this works as flawlessly as it does just tells me that there is no technical limitation to doing this but that rather the Jellyfin developers — for whatever reason — just simply don’t want to support it. I’ve worked in a number of roles where limiting the scope was necessary, but it’s confusing to me that they would do so for such a common type of network storage.
At any rate, I hope this article was helpful and that you are now able to use an SMB share on your NAS with Jellyfin on Windows.