
cantinarr
by windoze95
Cantinarr
Your media server just learned to run itself.
cantinarr.com · Live demo · Request a feature
Discover and request movies, TV shows, and books. Get push notifications. Manage Radarr, Sonarr, Chaptarr, and your download clients. When downloads get stuck, Cantinarr diagnoses the cause and recommends the next step. You set the agent's operating boundaries. Your household gets the simple experience; you keep control of access, approvals, and quality.
┌──────────────────────────────────────────────────────────────┐
│ Cantinarr Server (Go, single container, port 8585) │
│ │
│ ┌──────────┐ ┌───────────┐ ┌─────────┐ ┌────────────────┐ │
│ │ Auth/JWT │ │ Requests │ │ Issues +│ │ AI Chat │ │
│ │ Passkeys │ │+ Approvals│ │ AI Agent│ │ + 38 AI Tools │ │
│ └──────────┘ └─────┬─────┘ └─────────┘ └────────────────┘ │
│ │ │
│ ┌──────────────────┴───────────────────┐ ┌──────────────┐ │
│ │ ID Bridge: TMDB → Trakt → TVDB │ │ TMDB/Trakt │ │
│ │ (cached 30 days) │ │ discovery │ │
│ └───┬──────────┬──────────┬────────────┘ └──────────────┘ │
│ │ │ │ │
│ ┌───┴───┐ ┌────┴───┐ ┌────┴─────┐ ┌───────────────────────┐ │
│ │Radarr │ │ Sonarr │ │ Chaptarr │ │ Flutter Web (embedded)│ │
│ └───┬───┘ └────┬───┘ └────┬─────┘ └───────────────────────┘ │
└──────┼──────────┼──────────┼─────────────────────────────────┘
│ │ │ ▲ webhooks push external
┌────▼───┐ ┌────▼───┐ ┌────▼─────┐ changes back instantly
│ Radarr │ │ Sonarr │ │ Chaptarr │ (+ SABnzbd, qBittorrent,
└────────┘ └────────┘ └──────────┘ NZBGet, Transmission,
Tautulli, push gateway)
┌───────────────────────────────┐
│ Cantinarr App (Flutter) │ ┌─────────────────────┐
│ Discovery, Requests, Books, │─────>│ Cantinarr Backend │
│ Arr control, AI, Issues, │ REST │ (the only API the │
│ Push notifications │ + WS │ app talks to) │
└───────────────────────────────┘ └─────────────────────┘
Why Cantinarr?
- Zero-config requesting -- Your users never see API keys, TVDB IDs, or quality profiles. They browse, they tap, it works.
- TMDB + Trakt for discovery -- The best metadata, images, and trending data, proxied through the server so keys stay off devices. Sonarr's TVDB dependency is invisible.
- You choose what "popular" means -- The headline row on the Movies and TV tabs reads TMDB weekly trending, or Trakt trending (ranked by who is actually watching), or TMDB's all-time popularity ranking. Connect Trakt and the rows switch to it automatically -- no second setting to find. An English-only switch keeps the discovery and recommendation rows to English-language originals; it ships on, and search always finds everything either way.
- Automatic ID bridging -- TMDB-to-TVDB translation with Trakt fallback. The #1 source of failed Sonarr adds, solved.
- Books too -- A Chaptarr (Readarr-API) module with per-format smarts: tap a book's eBook or Audiobook row to request that format; monitored formats read Requested until they download; owned-aware search and plain per-format controls stay pinned to the selected, authorized Chaptarr instance. Access is granted per user, and the Books tab opens on a Recently Added row so a book that just landed is visible without searching for it.
- Take available files with you -- Optional, resumable downloads let signed-in users save exact ebook, audiobook, movie, and episode files from their authorized library. Cantinarr re-checks the live arr file record before issuing a short-lived, file-scoped link without putting arr credentials in the URL.
Related servers

n8n
Updated todayby n8n-io
Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.

mcp-server-git
OfficialUpdated todayA Model Context Protocol server providing tools to read, search, and manipulate Git repositories programmatically via LLMs

mcp-server-fetch
OfficialUpdated todayA Model Context Protocol server providing tools to fetch and convert web content for usage by LLMs