Files
homelab/active/podman_jellyfin/jellyfin.md
ducoterra ef9104c796
All checks were successful
Reese's Arch Toolbox / build-and-push-arch-toolbox (push) Successful in 14s
moving everything to active or retired vs incubating and graduated
2025-04-19 18:52:33 -04:00

1.7 KiB

Jellyfin

They have podman rootless instructions!

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

Install

Create jellyfin btrfs volume

btrfs sub create /btrfs/jellyfin

Add /home/jellyfin mount to /etc/fstab

systemctl daemon-reload
mount -a --mkdir

Create the jellyfin user

export JF_USER=jellyfin
useradd $JF_USER

su -l $JF_USER
ssh-keygen
exit
cp ~/.ssh/authorized_keys /home/$JF_USER/.ssh/authorized_keys
chown $JF_USER:$JF_USER /home/$JF_USER/.ssh/authorized_keys
loginctl enable-linger $(id -u $JF_USER)

SSH into the server as jellyfin

systemctl --user enable podman-restart
systemctl --user enable --now podman.socket
mkdir -p ~/.config/containers/systemd
mkdir jellyfin-config jellyfin-cache jellyfin-media

Install jellyfin

~/.config/containers/systemd/jellyfin.container

# Copy the files to the server
scp -r active/podman_jellyfin/quadlets/. jellyfin:~/.config/containers/systemd/
ssh jellyfin systemctl --user daemon-reload
ssh jellyfin systemctl --user start jellyfin
ssh jellyfin journalctl --user -xeu jellyfin
ssh jellyfin systemctl --user enable --now podman-auto-update.timer

Update the jellyfin record in Caddy.

Open port 8096 in the firewall.

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