Setting Up Jellyfin with Docker Compose
Introduction to Jellyfin
Jellyfin is a free and open-source media solution that allows you to organize, manage, and share your media files. It is an alternative to services like Plex or Emby, offering no subscription fees and a completely customizable and private experience.
Docker Compose Configuration for Jellyfin
This Docker Compose setup deploys Jellyfin in a Docker container, ensuring a consistent and isolated environment. The configuration includes custom volume paths and environment settings.
Docker Compose File (docker-compose.yml)
version: "2.1"
services:
jellyfin:
image: lscr.io/linuxserver/jellyfin:latest
container_name: jellyfin
environment:
- PUID=1000
- PGID=1000
- TZ=Pacific/Auckland
volumes:
- /home/server/jellyfin/library:/config
- /home/server/jellyfin/tvseries:/data/tvshows
- /home/server/jellyfin/movies:/data/movies
ports:
- 8096:8096
- 8920:8920 #optional
- 7359:7359/udp #optional
- 1900:1900/udp #optional
restart: unless-stopped
Key Components of the Configuration
Environment Variables
-
PUID=1000
andPGID=1000
: Set user and group IDs for file permissions. -
TZ=Pacific/Auckland
: Sets the container's timezone.
Volumes
-
/home/server/jellyfin/library:/config
: Configuration and data storage. -
/home/server/jellyfin/tvseries:/data/tvshows
: TV series library. -
/home/server/jellyfin/movies:/data/movies
: Movies library.
Ports
-
8096:8096
: Main access port for Jellyfin's web interface. -
8920:8920
: Optional port for HTTPS access. -
7359:7359/udp
: Optional port for live TV and DVR features. -
1900:1900/udp
: Optional port for DLNA.
Restart Policy
unless-stopped
: The container restarts automatically after a crash, except when it has been explicitly stopped.
Deploying Jellyfin
-
Save the Docker Compose configuration in a
docker-compose.yml
file. -
Run
docker compose up -d
to start Jellyfin in detached mode. -
Access Jellyfin's web interface via
http://
.:8096
Configuring and Using Jellyfin
Once deployed, you can configure Jellyfin through its web interface, including setting up media libraries, user accounts, and streaming settings.