Installing Jellyfin with Docker Compose
This guide shows a simple way to install Jellyfin using Docker Compose on Ubuntu.
Jellyfin is a free and open-source self-hosted media server for streaming and organizing personal media collections.
Official project:
Create the project folder
mkdir -p ~/docker/jellyfin
cd ~/docker/jellyfin
Create the Docker Compose file
Create:
nano docker-compose.yml
Paste:
services:
jellyfin:
image: jellyfin/jellyfin
container_name: jellyfin
network_mode: bridge
ports:
- "8096:8096"
volumes:
- ./config:/config
- ./cache:/cache
- /media:/media
restart: unless-stopped
Start Jellyfin
Run:
docker compose up -d
Access Jellyfin
Open:
http://YOUR_SERVER_IP:8096
Example:
http://192.168.1.50:8096
Notes
- Replace
/mediawith the path to your own media library - The
configfolder stores Jellyfin settings - The
cachefolder stores temporary files
Advanced Example (Reference Only)
This is my current Jellyfin setup. It includes additional configuration for hardware acceleration, performance tuning, and host-specific paths.
It is NOT required for a standard installation.
services:
jellyfin:
image: linuxserver/jellyfin:latest
container_name: jellyfin
stop_grace_period: 60s
network_mode: host
environment:
- PUID=1026
- PGID=100
- TZ=America/Santo_Domingo
group_add:
- "44"
shm_size: "2gb"
devices:
- /dev/dri/renderD128:/dev/dri/renderD128
volumes:
- /opt/docker/jellyfin/config:/config
- /mnt/sjb2/media:/media
- /opt/docker/jellyfin/transcode:/transcode
restart: unless-stopped