Librarian
Librarian
Section titled “Librarian”Librarian is the Coral module focused on media hygiene and enrichment. It provides tools for organizing, enriching, and maintaining your self-hosted Jellyfin media libraries.
Version
Section titled “Version”- Current version: 0.1.0
- GHCR image:
ghcr.io/get-coral/librarian
Keep your media organized, metadata enriched, and everything running smoothly.
What It Does
Section titled “What It Does”Librarian offers:
- Library management - Organize and optimize your collections
- Metadata enrichment - Enhance missing information
- Duplicate detection - Find and clean up duplicates
- Quality assurance - Tools for maintaining library health
- Bulk operations - Manage items across your library
- Local connection - SQLite-backed Jellyfin settings
Getting Started
Section titled “Getting Started”Prerequisites
Section titled “Prerequisites”- Node.js 18+
- pnpm (or npm/yarn)
- Running Jellyfin server
Installation
Section titled “Installation”- Clone the repository:
git clone https://github.com/Get-Coral/librarian.gitcd librarian- Install dependencies:
pnpm install- Configure environment variables (optional):
JELLYFIN_URL=http://your-server:8096JELLYFIN_API_KEY=your-api-keyJELLYFIN_USER_ID=your-user-idIf not set in environment, Librarian will prompt for connection on startup and store settings locally.
- Start the development server:
pnpm devApp runs at http://localhost:3000
Features
Section titled “Features”Library Organization
Section titled “Library Organization”- Organize by type - Movies, TV shows, music, books
- Create collections - Group related content
- Manage folders - Physical library structure
- Cleanup tools - Remove orphaned files
Metadata Management
Section titled “Metadata Management”- Missing metadata - Identify items needing information
- Bulk editing - Update multiple items at once
- Match against sources - Auto-populate from external APIs
- Custom metadata - Add your own tags and fields
Library Health
Section titled “Library Health”- Duplicate detection - Find and manage duplicates
- File validation - Check format compatibility
- Performance optimization - Index and cache management
- Backup tools - Export library configuration
Analytics
Section titled “Analytics”- Library statistics - Size, growth, composition
- Format analysis - What codecs and containers you use
- Utilization metrics - Storage and performance data
Configuration
Section titled “Configuration”Environment Variables
Section titled “Environment Variables”Set these for automatic connection:
JELLYFIN_URL=http://your-server:8096JELLYFIN_API_KEY=your-api-keyJELLYFIN_USER_ID=your-user-idLocal Storage
Section titled “Local Storage”Connection settings are stored in SQLite at ./data/librarian.sqlite.
Development
Section titled “Development”Librarian is built with:
- TanStack Start
- React 19
- TanStack Query
- Tailwind CSS v4
- Jellyfin API
Key Directories
Section titled “Key Directories”src/routes/- Page and API routessrc/components/- UI componentssrc/lib/- Utilities and helperssrc/data/- Data storage
Deployment
Section titled “Deployment”Deploy Librarian to:
- Vercel
- Docker (Dockerfile included)
- Self-hosted servers
Production build:
pnpm buildpnpm previewLearn More
Section titled “Learn More”- Jellyfin API Client - API integration details
- Contributing - Contribute features