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.
Docker and Docker compose installed
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
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