Skip to content
jellyfin logo

Jellyfin - Media Server Management

jellyfin

Jellyfin media server management via Podman Quadlet. Supports multi-instance deployment, hardware transcoding (NVIDIA/AMD/Intel), and FUSE filesystem mounts. Use when users need to set up or manage Jellyfin media servers.

SKILL.md

Full skill instructions

Jellyfin - Media Server Management

Overview

The jellyfin command manages Jellyfin media server instances using Podman Quadlet containers. It supports hardware transcoding and FUSE filesystem compatibility for network mounts.

Key Concept: Multi-instance support allows running multiple media libraries. FUSE compatibility enables rclone/​sshfs mounts for cloud or remote storage.

Quick Reference

ActionCommandDescription
Configujust jellyfin configConfigure Jellyfin
Deleteujust jellyfin deleteRemove instance config and container
Logsujust jellyfin logs [--lines=N]View container logs
Restartujust jellyfin restartRestart server
Shellujust jellyfin shell [-- CMD]Open shell or execute command in container
Startujust jellyfin startStart Jellyfin media server
Statusujust jellyfin statusShow instance status
Stopujust jellyfin stopStop Jellyfin media server
URLujust jellyfin urlShow web UI access URL

Configuration

Parameters

ParameterLong FlagShortRequiredDescription
Config Dir--config-dir-cYesConfiguration directory
Cache Dir--cache-dir-YesCache directory (transcoding)
Media Dir--media-dir-YesMedia library path
Instance--instance-nNoInstance number (default: 1)
GPU Type--gpu-type-gNoGPU: nvidia, amd, intel, auto
Image--image-iNoContainer image
Tag--tag-tNoImage tag (default: stable)
Workspace--workspace-dir-wNoOptional mount to /​workspace
Bind--bind-bNoBind address
Port--port-pNoService port
Lines--lines-lNoLog lines to show

Configuration Examples

# Basic installation (long form)
ujust jellyfin config --config-dir=~/​jellyfin/​config --cache-dir=~/​jellyfin/​cache --media-dir=~/​media

# With NVIDIA GPU for transcoding
ujust jellyfin config -c ~/​jellyfin/​config --cache-dir=~/​jellyfin/​cache --media-dir=~/​media --gpu-type=nvidia

# Second instance for different library
ujust jellyfin config -c ~/​jellyfin2/​config --cache-dir=~/​jellyfin2/​cache --media-dir=~/​videos --instance=2

# With short forms
ujust jellyfin config -c ~/​config --cache-dir=~/​cache --media-dir=~/​media -n 1 -g nvidia

Update Existing Configuration

Running config when already configured will update the existing configuration, preserving values not explicitly changed.

Shell Access

# Interactive bash shell
ujust jellyfin shell

# Run specific command (use -- separator)
ujust jellyfin shell -- df -h

# Shell in specific instance
ujust jellyfin shell --instance=2 -- ls /​media

Lifecycle Commands

Start/​Stop

# Single instance
ujust jellyfin start --instance=1
ujust jellyfin stop --instance=1

# Short form
ujust jellyfin start -n 1
ujust jellyfin stop -n 1

# All instances
ujust jellyfin start --instance=all
ujust jellyfin stop --instance=all

View Logs

# Follow logs
ujust jellyfin logs

# Specific instance with line count
ujust jellyfin logs --instance=1 --lines=100

# Short form
ujust jellyfin logs -n 1 -l 100

Get URL

ujust jellyfin url
# Output: http://localhost:8096

# Specific instance
ujust jellyfin url --instance=2

Port Allocation

InstancePort
18096
28097
38098
N8095+N

Hardware Transcoding

GPU Types

GPUFlag ValueTranscoding
NVIDIA--gpu-type=nvidia or -g nvidiaNVENC/​NVDEC
AMD--gpu-type=amd or -g amdVAAPI
Intel--gpu-type=intel or -g intelQuickSync

Enable GPU

ujust jellyfin config -c ~/​config --cache-dir=~/​cache --media-dir=~/​media --gpu-type=nvidia

Verify GPU

# Check inside container
ujust jellyfin shell -- nvidia-smi  # or vainfo for AMD/​Intel

FUSE Filesystem Support

Jellyfin containers support FUSE mounts (rclone, sshfs) for remote storage.

Mount Before Starting

# Mount cloud storage
rclone mount gdrive:media ~/​media --daemon

# Then start Jellyfin
ujust jellyfin start 1

Why Host Networking?

Jellyfin uses host networking for:

  • DLNA discovery
  • mDNS/​Bonjour
  • Chromecast

Configuration Files

FilePurposeLocation
Quadlet unitService definition~/​.config/​containers/​systemd/​jellyfin-1.container
Instance configSettings~/​.config/​jellyfin/​instance-1.env
Jellyfin dataLibraries, users<CONFIG>/
Transcoding cacheTemp files<CACHE>/

Common Workflows

Initial Setup

# 1. Create directories
mkdir -p ~/​jellyfin/​{config,cache}

# 2. Configure Jellyfin
ujust jellyfin config -c ~/​jellyfin/​config --cache-dir=~/​jellyfin/​cache --media-dir=~/​media --gpu-type=nvidia

# 3. Start it
ujust jellyfin start

# 4. Access web UI
ujust jellyfin url
# Open http://localhost:8096

Multiple Libraries

# Movies library
ujust jellyfin config -c ~/​jellyfin-movies/​config --cache-dir=~/​jellyfin-movies/​cache --media-dir=~/​movies -n 1

# TV library
ujust jellyfin config -c ~/​jellyfin-tv/​config --cache-dir=~/​jellyfin-tv/​cache --media-dir=~/​tv -n 2

# Start both
ujust jellyfin start --instance=all

Cloud Storage

# 1. Mount cloud storage
rclone mount gdrive:media ~/​cloud-media --daemon --vfs-cache-mode writes

# 2. Configure Jellyfin pointing to mount
ujust jellyfin config -c ~/​jellyfin/​config --cache-dir=~/​jellyfin/​cache --media-dir=~/​cloud-media

# 3. Start
ujust jellyfin start

Initial Configuration

First-time setup via web UI:

  1. Open http://localhost:8096
  2. Create admin user
  3. Add media libraries
  4. Configure transcoding (if GPU)
  5. Set up remote access

Troubleshooting

Jellyfin Won't Start

Check:

ujust jellyfin status
ujust jellyfin logs --lines=50

Common causes:

  • Port conflict (8096 in use)
  • Invalid paths
  • GPU driver issues

Transcoding Fails

Check:

# View logs for transcoding errors
ujust jellyfin logs | grep -i transcode

Common causes:

  • GPU not passed through
  • Missing codec support

Fix:

# Reconfigure with GPU
ujust jellyfin delete
ujust jellyfin config -c ~/​config --cache-dir=~/​cache --media-dir=~/​media --gpu-type=nvidia

Media Not Found

Check:

  • Media directory exists
  • Correct path in config
  • Permissions

Fix:

# Verify path
ls ~/​media

# Reconfigure with correct path
ujust jellyfin delete
ujust jellyfin config -c ~/​config --cache-dir=~/​cache --media-dir=/​correct/​path

DLNA Not Working

Cause: Network isolation

Jellyfin uses host networking, but ensure:

  • Firewall allows mDNS (5353/​udp)
  • Same network as clients

Cross-References

When to Use This Skill

Use when the user asks about:

  • "install jellyfin", "setup media server"
  • "jellyfin not working", "jellyfin transcoding"
  • "jellyfin GPU", "hardware transcoding"
  • "multiple jellyfin", "jellyfin instances"

More skills from majiayu000

xiaohongshu logo
majiayu000/claude-arsenal

xiaohongshu

xiaohongshu

286 148
View
agent-task-conductor logo
majiayu000/claude-skill-registry

agent-task-conductor

Conduct multi-agent task orchestration and workflow coordination.

663 1
View
conductor-setup logo
majiayu000/claude-skill-registry

conductor-setup

Initialize project with Conductor artifacts (product definition,

663 1
View
animation-designer logo
majiayu000/claude-skill-registry

animation-designer

Expert in web animations, transitions, and motion design using Framer Motion and CSS

663 1
View
diagramming logo
majiayu000/claude-skill-registry

diagramming

Creates Mermaid and ASCII diagrams for flowcharts, architecture, ERDs, state machines, mindmaps, and more. Use when user mentions diagram, flowchart, mermaid, ASCII diagram, text diagram, terminal diagram, visualize, C4, mindmap, architecture diagram, sequence diagram, ERD, or needs visual docume...

663 1
View
h3-pg logo
majiayu000/claude-skill-registry-data

h3-pg

PostgreSQL bindings for H3 hexagonal grid system. Use when working with H3 cells in Postgres, including spatial indexing, geometry/geography integration, and raster analysis.

23 1
View
conductor-development logo
majiayu000/claude-skill-registry

conductor-development

Context-Driven Development skill for projects using Conductor. Use this skill when you detect a `conductor/` directory in the project, when working on tasks defined in a `plan.md` file, or when the user asks about tracks, specs, or plans. Automatically applies TDD workflow, tracks task completion...

663 1
View
conductor-status logo
majiayu000/claude-skill-registry

conductor-status

Display project status, active tracks, and next actions

663 1
View
dockerization logo
majiayu000/claude-skill-registry

dockerization

Official Stakpak application containerization standard operating procedure, a step-by-step guidline to properly dockerize applications. This is a rule book curated by the Stakpak Team.

663 1
View

Popular AI tools

Kaiber logo
Video

Kaiber

Generate, edit, and beat-sync AI video with leading models in one workspace.

Paid
View
Vimcal logo
Productivity

Vimcal

The world's fastest calendar for remote work

Free
View

Transform Your Design with AI Designer by ImgCreator.ai

Freemium
View
Akool AI logo
Content & writing

Akool AI

Revolutionizing Video Production with AI-Powered Creativity

Paid
View

Extend an image past the frame and let AI fill the new aspect ratio.

Freemium
View
StarByFace logo
Security

StarByFace

Discover your celebrity doppelgänger with StarByFace!

Free
View
C

ChainClarity explains 700+ crypto whitepapers in plain English, with layered summaries, comparisons, research tools, alerts, and a $4.99 Pro plan.

Freemium
View
Opus Clip logo
Coding & apps

Opus Clip

Opus.ai: Revolutionize Your Web Experience

Free
View