Fathom
Fathom
Section titled “Fathom”Fathom is the Coral reading room. It connects to Jellyfin and turns reading libraries into a cleaner browsing experience with a featured shelf, recent additions, library browsing, collection browsing, and rich title details with metadata.
Version
Section titled “Version”- Current version: 0.1.0
- GHCR image:
ghcr.io/get-coral/fathom
A cover-first interface designed for a calm, focused reading experience.
What It Is
Section titled “What It Is”Fathom provides:
- Featured shelf - Curated reading selections
- Recent additions - New books, manga, comics
- Library browsing - Organized by collections
- Collection browsing - Group related content
- Title detail - Complete metadata and contributor information
- Local connection - SQLite-backed Jellyfin settings, with
.envsupport
Supported Media
Section titled “Supported Media”- Books (EPUB, PDF, etc.)
- Manga
- Comics
- Audiobooks and more
Getting Started
Section titled “Getting Started”Prerequisites
Section titled “Prerequisites”- Node.js 18+
- pnpm (or npm/yarn)
- Running Jellyfin server with reading library
Installation
Section titled “Installation”- Clone the repository:
git clone https://github.com/Get-Coral/fathom.gitcd fathom- Install dependencies:
pnpm install- Configure environment variables:
JELLYFIN_URL=http://your-server:8096JELLYFIN_API_KEY=your-api-keyJELLYFIN_USER_ID=your-user-idConnection details can also be configured in the web UI on first run, and will be stored locally in SQLite.
- Start the development server:
pnpm devFathom runs on http://localhost:3000
Configuration
Section titled “Configuration”Fathom supports the same connection model as other Coral modules.
Environment Variables
Section titled “Environment Variables”JELLYFIN_URL=http://your-server:8096JELLYFIN_API_KEY=your-api-keyJELLYFIN_USER_ID=your-user-idIf these are not set, Fathom will open a setup screen on first run and store the connection details locally.
Local Storage
Section titled “Local Storage”Connection settings are stored in SQLite at ./data/fathom.sqlite for a self-hosted setup without external database requirements.
Features
Section titled “Features”Browse
Section titled “Browse”- View all reading libraries
- Browse by collection
- Search across your library
- Filter by media type
Discover
Section titled “Discover”- Featured and highlighted titles
- Recent additions
- Curated collections
- Recommendation algorithms
Reading Management
Section titled “Reading Management”- Track reading progress
- Mark as favorites
- Create personal collections
- Rating and reviews
Library Metadata
Section titled “Library Metadata”- Full book information
- Contributors and authors
- Descriptions and summaries
- Cover art and thumbnails
Development
Section titled “Development”Fathom is built with:
- TanStack Start
- React 19
- Tailwind CSS v4
- Jellyfin API
Project Structure
Section titled “Project Structure”src/routes/- Page componentssrc/components/- Reusable UI componentssrc/lib/- Utilities and helperssrc/data/- Data directory for SQLite
Deployment
Section titled “Deployment”Deploy Fathom to:
- Vercel
- Docker
- Self-hosted servers
For production:
pnpm buildpnpm previewLearn More
Section titled “Learn More”- Jellyfin API Client - Building custom reading interfaces
- Contributing - Extend Fathom