This post is about Jellyfin on Docker.
Jellyfin is an Opensource software which can handle all your media requirements by exposing them securely, allowing you to access anywhere as well as features like metadata fetch, transcoding, user access.
Pre-requisites:
Docker and Docker compose installed
I am using Ubuntu 22.04 here and you can install docker from here and docker compose from here
Installation:
version: "3"
services:
jellyfin:
image: lscr.io/linuxserver/jellyfin
container_name: jellyfin
ports:
- 80:8096
environment:
- PUID=1000
- PGID=1000
- TZ=America/New_York
volumes:
- /path/to/config:/config
- /path/to/tv/shows:/data/tvshows
- /path/to/movies:/data/movies
- /path/to/music:/data/music
devices:
## Refer this: https://jellyfin.org/docs/general/administration/hardware-acceleration.html
- /path/to/render/devices:/path/to/render/devices
restart: always
networks:
## Change proxy to the name of your docker network or you can remove this option to use the default bridge docker network
- jellyfin
## Skip the below lines if you are using bridge network or replace with your network name
networks:
jellyfin:
external: true
docker-compose.yml
I am using PUID and GUID of user 1000. You need to use the user who has access to the volumes attached. For fresh installation, you need to mount an empty directory for config and other mounts would be where your media would be located.
Also refer the link in docker-compose.yml file to enable hardware acceleration for all your video transcoding. Once you have your compose file ready, use docker-compose up -d command to run your container in background.
Setup Jellyfin with your own user and finish the initial setup
Jellyfin is successfully deployed using docker