Homelab/nomad_jobs/services/jellyfin
2024-03-05 18:58:58 -08:00
..
jellyfin.nomad.hcl Add Jellyfin Service 2024-03-05 18:58:58 -08:00
readme.md Add Jellyfin Service 2024-03-05 18:58:58 -08:00

Jellyfin

Jellyfin is a Free Software Media System that puts you in control of managing and streaming your media. It is an alternative to the proprietary Emby and Plex, to provide media from a dedicated server to end-user devices via multiple apps.

Nomad Job for Gitea

You will need to modify the job spec items listed under TODO but there are no Jellyfin specific adjustments needed. If you run it, it will register with consul and be available to Traefik for routing. If the domain name is configured correctly, you should be able to reach the Jellyfin setup page to make the needed configuration changes such as defining the media libraries.

Service Dependencies

TODO

If you want to deploy this, you will need to verify you have the necessary host volumes.

Line Default Adjustment
23 source = "jellyfinCache" Change jellyfinCache to a valid host volume name
28 source = "jellyfinConfig" Change jellyfinConfig to a valid host volume name
33 source = "media" Change media to a valid host volume name
68 volume = "jellyfinCache" Change jellyfinCache to the host volume defined on line 21 if applicable
74 volume = "jellyfinConfig" Change jellyfinConfig to the host volume defined on line 26 if applicable
79 volume = "media" Change media to the host volume defined on line 31 if applicable

To make the instance accessible through TRAEFIK you will need to define the domain to listen on by setting the value(s) on lines 2 and 3.

Configuring Jellyfin

There is no need to embed secrets in the nomad job spec. When you first visit the domain name you configured, you will be prompted to configure Jellyfin.

I recomend using a single root directory for media and then creating subdirectories for each type of media. This will make it easier to manage the media via SFTP and to configure Jellyfin.

If this is deployed on Alpine Linux, you won't be able to pass through dedicated NVIDIA hardware because nvidia-container-toolkit is not available on MUSL. You will need to use a different root operating system like Ubuntu if you want hardware acceleration with NVIDIA hardware.