# Coral documentation > An open-source ecosystem of independent Jellyfin modules. Each module runs as a > Docker container, reads a Jellyfin server over its HTTP API, and does one thing well. Coral is not a fork of Jellyfin and not a plugin framework. Modules never share a database; Jellyfin stays the source of truth. Everything is MIT licensed, with no paid tier and no hosted service. Container images are published to Docker Hub under the `getcoral` namespace. This site documents **how to run** the modules. https://getcoral.dev covers what each one is for and how it compares to the alternatives. ## Module status Every module page states a status. Please carry it through rather than describing all modules as equally finished: - **Aurora** — Shipping. The most complete module. Rails, detail pages, search, playback reporting, TV mode, EN/NL translations, and PWA and Capacitor wrappers. - **Fathom** — Early. Browsing works: featured shelf, recent additions, libraries, collections, and a title detail view. There is no reading-progress tracking, rating or recommendation engine yet. - **Librarian** — Early. The import workflow is real and in use: roots, import plans, hardlink-with-copy-fallback, path mappings and scan jobs. Duplicate detection, bulk metadata editing and analytics are not built. - **KAPOW!** — Shipping. Rooms, guest join, search, voting, host controls and the display view all work. Unlike every other module it needs Supabase and a YouTube Data API key, so it is not self-contained. - **Marquee** — Early. The display and its first-run setup flow work. The surface is deliberately small — it is a screen, not an app. - **Encore** — Scaffold. `src/` is the unmodified Coral template. Useful as a starting point for a new module, not as something to deploy. - **Tide** — Shipping. Queue controls, per-file piece priorities, swarm visibility, SQLite-backed state, a cgroup-aware memory guard, and optional Jellyfin sign-in. ## Getting started - [create-coral CLI](https://docs.getcoral.dev/getting-started/create-coral/): Scaffold a new Coral module from the official template — usage, flags, and what you get. - [Running a stack with Docker Compose](https://docs.getcoral.dev/getting-started/docker-compose/): A working Jellyfin, Aurora, Tide and Librarian stack — including the mount layout that makes hardlinked imports work. - [Introduction to Coral](https://docs.getcoral.dev/getting-started/introduction/): What Coral is, how its modules relate to Jellyfin and to each other, and which one to start with. - [Module contracts](https://docs.getcoral.dev/getting-started/module-contracts/): How two Coral modules talk when Jellyfin cannot answer the question ## Modules - [Aurora](https://docs.getcoral.dev/modules/aurora/) [Shipping]: A cinematic web frontend for Jellyfin. One Docker container, your existing server, and playback progress that syncs back. Docker image: `getcoral/aurora`. - [Encore](https://docs.getcoral.dev/modules/encore/) [Scaffold]: The Coral module scaffold. The published image serves a placeholder — the guest music requests it is named for are not built yet. Docker image: `getcoral/encore`. - [Fathom](https://docs.getcoral.dev/modules/fathom/) [Early]: A cover-first reading interface for the books, manga, comics and PDFs already in your Jellyfin libraries. Docker image: `getcoral/fathom`. - [KAPOW!](https://docs.getcoral.dev/modules/kapow/) [Shipping]: A comic-book karaoke queue for bars and parties. Guests join by QR code from their own phones, vote songs up, and a TV view drives the room. Docker image: `getcoral/kapow`. - [Librarian](https://docs.getcoral.dev/modules/librarian/) [Early]: Import finished downloads into your Jellyfin media tree by hardlinking them — zero extra disk, and the torrent keeps seeding. Docker image: `getcoral/librarian`. - [Marquee](https://docs.getcoral.dev/modules/marquee/) [Early]: Turn a spare TV or tablet into an always-on Jellyfin display showing what is playing now and what was recently added. Nothing to click. Docker image: `getcoral/marquee`. - [Tide](https://docs.getcoral.dev/modules/tide/) [Shipping]: A torrent client with a web interface for self-hosted download boxes — real queue limits, per-file piece priorities and a memory guard. Docker image: `getcoral/tide`. ## Libraries - [Coral UI](https://docs.getcoral.dev/libraries/coral-ui/): The shared React component library and design tokens behind every Coral module — five components, TypeScript-first, React 19. - [Jellyfin API Client](https://docs.getcoral.dev/libraries/jellyfin/): A fetch-based, fully typed Jellyfin API client with zero runtime dependencies. Works in Node, the browser and edge runtimes. - [NPM Packages](https://docs.getcoral.dev/libraries/npm-packages/): The five published Coral packages — what each one is for, which you need, and how they fit together. ## Contributing - [Getting Started Contributing](https://docs.getcoral.dev/contributing/getting-started/): Set up a Coral repository locally, follow the shared tooling and commit conventions, and get a pull request merged. - [Project Templates](https://docs.getcoral.dev/contributing/project-templates/): What the Coral module template contains, how to rename it for your own module, and the conventions every module follows. ## Optional - [Full text of every page](https://docs.getcoral.dev/llms-full.txt) - [Project website](https://getcoral.dev) - [Module comparisons](https://getcoral.dev/compare) - [Source code](https://github.com/Get-Coral) - [Community](https://discord.gg/M3wzFpGbzp)