In this post I share a few notes about the Jellyfin container running on my home server and how to mount the SMB shares on FreeNAS.


In the last post I discussed my first steps in the container’s world. In this post we’ll see some details about the Jellyfin container that serves the media content.

All the content of the home network (backups excluded) is stored in a volume in FreeNAS (now TrueNAS) shared via SMB.

The NAS is not running 24/7 for saving power and MTBF . The home server runs all the time instead because it collects metrics and provides DNS to the network.

The media server of choice changed from Plex to Jellyfin that provides the basic functions I need, but lacks a Samsung Tizen app (so far).

Workflow

In my workflow I start the NAS and then use portainer on my phone to start the Jellyfin container. I’m evaluating the creation of an Alex skill or some HASS automation for that.

For best results verify the mount points are active and the NAS is up before starting the container.

Mounting shares

This is the docker-compose.yaml file used to create start the Jellyfin container:


Notice the media folders are mounted in the NAS:

      - /mnt/freenas/tvshows:/data/tvshows
      - /mnt/freenas/movies:/data/movies
      - /mnt/freenas/music:/data/music

The host will be responsible for mounting the shares, not in the container. The container will consume the mount points provided in the docker-compose.yaml file.

Create a file with the credentials to access the shares:

nano ~/.smb

Insert the SMB credentials:

user=myUser
password=myPassword

Now edit /etc/fstab on the host.

sudo nano /etc/fstab

Modify the lines with your setup and add them:

# FOR JELLYFIN
//10.1.1.100/SHARE/MEDIA/TVSHOWS /mnt/freenas/tvshows  cifs  credentials=/home/myuser/.smb,errors=continue,uid=1000,noauto,nofail 0  0
//10.1.1.100/SHARE/MEDIA/FILM    /mnt/freenas/movies   cifs  credentials=/home/myuser/.smb,errors=continue,uid=1000,noauto,nofail 0  0
//10.1.1.100/SHARE/MEDIA/MUSIC   /mnt/freenas/music    cifs  credentials=/home/myuser/.smb,errors=continue,uid=1000,noauto,nofail 0  0

Start the Jellyfin container with

docker-compose up -d

Now we should be able to add the libraries to Jellyfin using the path in the container:

/mnt/freenas/movies
/mnt/freenas/music
/mnt/freenas/tvshows

Links