Migrating to Jellyfin

This topic is about my migration from Plex to Jellyfin.

I could use some help from you @PhaseLockedLoop.

I am going to start by installing jellyfin onto my server box.

3 Likes

Well okay do you want to utilize transcoding?

Depending if you do you need that I wouldn’t dockerize it unless you know what you are doing

@anon75264233 and I both have experience with jellyfin

That said their documentation is good. Its not that you can’t utilize AMD AMF or NVIDIA NVENC in docker its that its a bit of a pain to get it right so running bare metal is easiest for the unexperienced


Player wise on Linux for direct play you use kodi and it’s jellyfin plugins of your choice

You may also use DLNA+VLC

On android you use the jelly fin client

Change the setting to integrated player

On android TV there is a similar setting.

Use exoplayer

Each client will essentially either choose web or integrated … Integrated I better for transcoding and direct play

2 Likes

I am going to go with the bare metal approach. Docker is something I have yet to learn. It appears jellyfin is best with docker. So I might as well learn it.

1 Like

It is best if so what GPU do you have?

5700xt

Then stick with baremetal

There is no AMF integration on jellyfin docker yet

1 Like

jellyfin-ffmpeg : Depends: libx264-155 but it is not installable
Depends: libx265-179 (>= 3.2) but it is not installable
This is the error i receive when trying to install jellyfin.

OS popos 21.04

1 Like

Also bare in mind you do need GPU pro from that

1 Like

Interesting one sec

sudo apt install ffmpeg

Does that have the same error?

Did not fix the issue.

okay let me do a bit of research on pop OS. they have been diverging from base ubuntu alot. give me a moment

Alternatively you could use docker but SANS GPU Encode Decode. @Ancient_Evil_God are you okay with CPU transcoding?

1 Like

yes

sudo apt install docker docker-compose

Then go to wherever you want to store the docker-compose.yml

Create that file

version: "3.5"
services:
  jellyfin:
    image: jellyfin/jellyfin
    container_name: jellyfin
    user: uid:gid
    network_mode: "host"
    volumes:
      - /path/to/config:/config
      - /path/to/cache:/cache
      - /path/to/media:/media
      - /path/to/media2:/media2:ro
    restart: "unless-stopped"
    # Optional - alternative address used for autodiscovery
    environment:
      - JELLYFIN_PublishedServerUrl=http://example.com

https://jellyfin.org/docs/general/administration/installing.html

And install it via docker-compose

Your UID and GID can be found via id -u username and id -g username

Put those volumes somewhere easy for you to access either on your storage disks or in your home folder

Media 2 should be where your media is located (top level folder where you find movies tv music etc after that in sub folders). If you dont set this properly you wont be able to access those files from the docker


Technically I could tell you how to install the mesa VA drivers for VA-API and Nvidia AMF into the docker but this is much more extensive configuration of a container and id like to teach you how to get one working first


Im out with a friend atm but I can assists from my phone as much as possible @Ancient_Evil_God


Docker Compose File Explained

version: "3.5" # VERSION of Compose Syntax
services: # Define where services start being defined
  jellyfin: # define jellyfin service
    image: jellyfin/jellyfin # indent (YAML) so it is tree'd under jellyfin and define image
    container_name: jellyfin # give it a name
    user: uid:gid # what user you are running it as (ideally not root)
    network_mode: "host" # Bind network to host IP and port configurations
    volumes: # Define virtual storage volumes (again indent to indicate parent-child param ownership)
      - /path/to/config:/config # your path on host mapped to the config in the docker
      - /path/to/cache:/cache # your path on host mapped to the cache in the docker
      - /path/to/media:/media # your path on host mapped to the metadata in the docker
      - /path/to/media2:/media2:ro # your path on host to actual media mapped to the metadata in the docker
    restart: "unless-stopped" # Define that it will restart unless stopped by you
    # Optional - alternative address used for autodiscovery
    environment:
      - JELLYFIN_PublishedServerUrl=http://example.com # you dont need this if you dont host outside your home

Its a lot to digest

RTFM

UTFM

Read again

Understand what ive told you here

Then do

Does this looke correct?

  - /home/aeg/.docker/config:/config
  - /home/aeg/.docker/cache:/cache
  - /home/aeg/media:/media
  - /home/aeg/2mnt/plexmedia:/media2:ro

I would change .docker to .jellyfin

so you can seperate containers and know where
OR

.docker >> .docker/jf/<paths>

dont forget to sudo systemctl enable docker && sudo systemctl start docker

So according to my logs the port is already bound. I think dynmap is using the same port. Gotta change jellyfin port. or change dynmap.

Change the dynmap port

Jellyfin is attached to host

1 Like

I did. now my website i defaulting to jellyfin. neat.