Files
homelab/active/podman_jellyfin/jellyfin.md

2.0 KiB

Jellyfin

They have podman rootless instructions!

https://jellyfin.org/docs/general/installation/container/#managing-via-systemd

Install

  1. Create the jellyfin user

    useradd jellyfin
    loginctl enable-linger $(id -u jellyfin)
    systemctl --user --machine=jellyfin@.host enable podman-restart
    systemctl --user --machine=jellyfin@.host enable --now podman.socket
    mkdir -p /home/jellyfin/.config/containers/systemd
    
  2. Update the jellyfin record in Caddy.

  3. Open port 8096 in the firewall.

  4. Copy the files to the server and start the service

    export PODMAN_SERVER=3dserver
    scp -r active/podman_jellyfin/quadlets/. $PODMAN_SERVER:/home/jellyfin/.config/containers/systemd/
    ssh $PODMAN_SERVER chown -R jellyfin:jellyfin /home/jellyfin/.config/containers/systemd/
    
    ssh $PODMAN_SERVER
    machinectl shell jellyfin@
    systemctl --user daemon-reload
    systemctl --user restart jellyfin
    

Upgrade

  1. Check the blog for breaking changes
  2. Update the jellyfin.container with the new image version
  3. Update quadlets and restart the service
# Upload quadlets and restart
export PODMAN_SERVER=3dserver
scp -r active/podman_jellyfin/quadlets/. $PODMAN_SERVER:/home/jellyfin/.config/containers/systemd/
ssh $PODMAN_SERVER chown -R jellyfin:jellyfin /home/jellyfin/.config/containers/systemd/

ssh $PODMAN_SERVER
machinectl shell jellyfin@
systemctl --user daemon-reload
systemctl --user restart jellyfin

Mounting Media Directory

Update /etc/fstab with the smb disk details.

Note:

  • x-systemd.automount which only mounts the device when it's accessed.
  • x-systemd.mount-timeout=30 allows a 30 second timeout
  • _netdev ensures the device won't be mounted until after the network is available
UUID=... /btrfs/some-name    btrfs   subvolid=5,compress=zstd:1,x-systemd.automount,x-systemd.mount-timeout=30,_netdev 0 0