Batcharr

Batcharr

Docker app from Batcharr's Repository

Overview

Batcharr is a bulk request interface for Radarr and Sonarr. Paste lists of movies and television shows, review matches, detect duplicates, and submit approved titles to your Arr applications.

Batcharr

Batcharr is a self-hosted bulk request and confirmation interface for Radarr and Sonarr.

Paste a mixed list of movies and television series, review the matches returned by your Arr instances, approve the correct titles, and submit the approved batch. Batcharr does not download media itself.

Current MVP

  • Mixed movie and TV lists
  • movie: and tv: line prefixes
  • Optional release-year parsing
  • Radarr /api/v3 support
  • Sonarr /api/v3 and /api/v5 detection
  • Poster, year, overview, and confidence review
  • Alternate-match selection
  • Bulk approval of high-confidence matches
  • Duplicate detection using TMDb and TVDB IDs
  • SQLite request history
  • Encrypted Arr API keys
  • Optional single-password login
  • Unraid-friendly PUID and PGID

List format

The Thing (1982)
movie: Alien
TV | The Expanse (2015)
Dark - 2017

Unlabeled titles can search both Radarr and Sonarr or be forced to one media type for the entire batch.

Run with Docker Compose

  1. Copy .env.example to .env and replace the password and secret.
  2. Update compose.yaml if port 5058 is already used.
  3. Build and start the container.

PowerShell:

$ErrorActionPreference = 'Stop'
Copy-Item .env.example .env
notepad .env
docker compose up --build -d
docker compose ps

Open http://localhost:5058.

Unraid settings

Use these container values when creating an Unraid template:

Setting Value
Repository Build from this repository until an image is published
WebUI port 5058 mapped to container port 3000
Appdata /mnt/user/appdata/batcharr mapped to /config
PUID 99
PGID 100
TZ America/Los_Angeles
BATCHARR_PASSWORD A private login password
BATCHARR_SECRET A stable random secret of at least 32 characters

When Batcharr shares a custom Docker network with Radarr and Sonarr, use URLs such as http://radarr:7878 and http://sonarr:8989. Otherwise, use an address reachable from inside the Batcharr container.

Local development

$ErrorActionPreference = 'Stop'
npm ci
$env:BATCHARR_CONFIG_DIR = "$PWD\data"
$env:BATCHARR_SECRET = "development-secret-change-me-123456789"
$env:BATCHARR_PASSWORD = "batcharr"
npm run dev

Open http://localhost:3000.

Security notes

  • API keys are encrypted before being written to SQLite.
  • Changing BATCHARR_SECRET makes saved API keys unreadable. Re-enter them after a secret change.
  • Leave BATCHARR_PASSWORD blank only on a trusted LAN or Tailscale network.
  • Set BATCHARR_COOKIE_SECURE=true only when the browser reaches Batcharr through HTTPS.
  • The first release uses a single shared password, not individual user accounts.

Planned next steps

  1. Per-user accounts and request attribution
  2. CSV file upload and watched import folder
  3. Saved batch drafts and retry controls
  4. Multiple Radarr/Sonarr instances, including 4K routing
  5. Per-user quotas and approval policies
  6. Unraid Community Applications template
  7. Published multi-architecture Docker image

Install Batcharr on Unraid in a few clicks.

Find Batcharr 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 Batcharr Review the template variables and paths Click Install

Related apps

Explore more like this

Explore all

Details

Repository
ghcr.io/bmj812/batcharr:latest
Last Updated2026-07-21
First Seen2026-07-21

Runtime arguments

Web UI
http://[IP]:[PORT:3000]
Network
bridge
Shell
sh
Privileged
false

Template configuration

WebUI PortPorttcp

Port used to access the Batcharr WebUI.

Target
3000
Default
5058
Value
5058
AppdataPathrw

Persistent Batcharr database, settings, and encrypted credentials.

Target
/config
Default
/mnt/user/appdata/batcharr
Value
/mnt/user/appdata/batcharr
PUIDVariable

Unraid user ID.

Default
99
Value
99
PGIDVariable

Unraid users group ID.

Default
100
Value
100
TimezoneVariable

IANA timezone used by Batcharr.

Target
TZ
Default
America/Los_Angeles
Value
America/Los_Angeles
Batcharr PasswordVariable

Optional WebUI password. Leaving this blank disables Batcharr login protection.

Target
BATCHARR_PASSWORD
Batcharr SecretVariable

Stable random secret used to encrypt stored Radarr and Sonarr API keys. Generate with: openssl rand -hex 32

Target
BATCHARR_SECRET
Secure CookieVariable

Set to true only when accessing Batcharr exclusively through HTTPS.

Target
BATCHARR_COOKIE_SECURE
Default
false
Value
false