Trackarr

Trackarr

Docker app from confinedfish's Repository

Overview

Trackarr is a self-hosted companion app for Radarr and Sonarr that gives you a unified view of your media automation. Monitor downloads, queue health, missing media, and what needs your attention — all in one place.

Features include queue monitoring with health scoring, missing media tracking, multi-server support, background routines, and download history.

Setup: After starting the container, open the WebUI and add your Radarr/Sonarr servers under the Servers page. You will need the host, port, and API key for each instance.

Trackarr

A self-hosted companion app for Radarr and Sonarr that gives you a unified view of your media automation — downloads, queue health, missing media, and what needs your attention.

Alpha software — Trackarr is in early development (v5.x-alpha). Expect breaking changes, incomplete features, and rough edges. It connects to live Radarr/Sonarr instances and there is no read-only mode yet. Use at your own risk.

Features

Queue monitoring — See active downloads across all your Radarr and Sonarr instances in one place. Track download progress, status changes, and stalled or failing items.

Health scoring — Every download gets a health score (0–100) based on its lifecycle. Stalls, errors, and lack of progress reduce the score; recoveries and steady progress improve it. Configurable thresholds can automatically flag or remove unhealthy downloads.

Missing media tracking — Automatically detects movies and episodes that are missing from your library. Tracks search state, manages cooldowns between searches, and abandons items that repeatedly fail to find results.

Multi-server support — Connect multiple Radarr and Sonarr instances. Each server gets independent health checks, queue monitoring, and configuration.

Background routines — Scheduled jobs handle heartbeat checks, queue refreshes, health evaluations, missing media detection, and database cleanup. Each routine tracks its own run history and can be individually configured.

Download history — Browse past download attempts with event-level detail to understand what happened and why.

Installation

Docker Compose (recommended)

services:
  trackarr:
    container_name: trackarr
    image: confinedfish/trackarr:latest
    restart: unless-stopped
    ports:
      - "5264:8080"
    volumes:
      - ./docker-data/trackarr:/config
    environment:
      ASPNETCORE_ENVIRONMENT: Production
      DOTNET_ENVIRONMENT: Production
      ASPNETCORE_URLS: http://+:8080
      ConnectionStrings__DefaultConnection: "Data Source=/config/trackarr.db"
      DataProtection__KeysPath: "/config/keys"
docker compose up -d

Trackarr will be available at http://localhost:5264. The database and configuration are persisted to ./docker-data/trackarr/.

Docker CLI

docker run -d \
  --name trackarr \
  --restart unless-stopped \
  -p 5264:8080 \
  -v /path/to/config:/config \
  -e ASPNETCORE_ENVIRONMENT=Production \
  -e DOTNET_ENVIRONMENT=Production \
  -e ASPNETCORE_URLS=http://+:8080 \
  -e "ConnectionStrings__DefaultConnection=Data Source=/config/trackarr.db" \
  -e DataProtection__KeysPath=/config/keys \
  confinedfish/trackarr:latest

Unraid

  1. In the Unraid Docker tab, click Add Container
  2. Set Repository to confinedfish/trackarr:latest
  3. Under Template, you can use the Unraid template XML from this repo
  4. Configure the port (default 5264) and appdata path (default /mnt/user/appdata/trackarr)
  5. Click Apply

Unraid will automatically detect when a new image is available on Docker Hub and offer to update the container.

Updating

Images are automatically built and pushed to Docker Hub on every release. To update:

  • Docker Compose: docker compose pull && docker compose up -d
  • Docker CLI: docker pull confinedfish/trackarr:latest and recreate the container
  • Unraid: Click the update notification in the Docker tab

First-time setup

  1. Open Trackarr in your browser
  2. Go to Servers and add your Radarr/Sonarr instances (you'll need the host, port, and API key for each)
  3. Background routines will start syncing queue and missing media data automatically

Configuration

Trackarr stores its settings in the database and exposes them through the UI. Key configuration areas:

Category Examples
General App name, auto-start routines, default server type
Server defaults Queue monitoring, auto-remove failed downloads, missing media search, request timeout
Health policy Starting score, penalty/reward weights, removal thresholds, grace periods
Missing policy Search cooldown, max failed searches, cascade limit, abandonment threshold
Display Date/time format, table page sizes, chart visibility, table density

Development

Requirements: .NET 10.0 SDK

git clone https://github.com/alexzeigler/Trackarr.git
cd Trackarr
dotnet run --project Trackarr/Trackarr.csproj

The app starts at http://localhost:5264. The database is created automatically on first run.

Running tests:

dotnet test

Project structure

Trackarr/              Web app — Blazor Server UI, startup, middleware
Trackarr.Core/         Domain models — media, health, queue, settings
Trackarr.Data/         EF Core DbContext and migrations (SQLite)
Trackarr.Services/     Business logic — API clients, health scoring, search
Trackarr.Routines/     Background job implementations
Trackarr.Client/       Blazor WebAssembly client components
Trackarr.Tests/        Unit and integration tests (xUnit)

Tech stack

  • .NET 10 / ASP.NET Core / Blazor Server
  • SQLite via Entity Framework Core
  • Blazor Bootstrap / Bootstrap
  • xUnit for testing

Contributing

Trackarr is not yet set up for outside contributions. Once the first alpha builds are more stable, bug reports, testing feedback, and setup experience reports will be the most useful.

Disclaimer

Trackarr is an independent project, not affiliated with Radarr, Sonarr, or any download client.

Install Trackarr on Unraid in a few clicks.

Find Trackarr in Community Apps on your Unraid server, review the template, and click Install. Unraid handles the Docker app or plugin setup from the published template.

Open the Apps tab on your Unraid server Search Community Apps for Trackarr Review the template variables and paths Click Install

Download Statistics

134
Total Downloads

Related apps

Explore more like this

Explore all

Details

Repository
confinedfish/trackarr:latest
Last Updated2026-06-27
First Seen2026-06-29

Runtime arguments

Web UI
http://[IP]:[PORT:8080]/
Network
bridge
Shell
bash
Privileged
false

Template configuration

WebUI PortPorttcp

Port for the Trackarr web interface.

Target
8080
Default
5264
Value
5264
Config PathPathrw

Path to store Trackarr configuration and database.

Target
/config
Default
/mnt/user/appdata/trackarr
Value
/mnt/user/appdata/trackarr
ASPNETCORE_ENVIRONMENTVariable

Application environment. Leave as Production.

Default
Production
Value
Production
DOTNET_ENVIRONMENTVariable

Runtime environment. Leave as Production.

Default
Production
Value
Production
ASPNETCORE_URLSVariable

Internal listen URL. Do not change.

Default
http://+:8080
Value
http://+:8080
Database ConnectionVariable

SQLite database path. Only change if you know what you are doing.

Target
ConnectionStrings__DefaultConnection
Default
Data Source=/config/trackarr.db
Value
Data Source=/config/trackarr.db
Data Protection Keys PathVariable

Path for encryption key storage.

Target
DataProtection__KeysPath
Default
/config/keys
Value
/config/keys