Skip to content
Go back

Whisparr & Mylar3: Specialty *arr Apps Explained

By SumGuy 10 min read
Whisparr & Mylar3: Specialty *arr Apps Explained

Your *arr Stack Has Gaps

You’ve got Sonarr humming along, Radarr pulling movies, Prowlarr wiring everything together, and Bazarr handling subtitles like a champ. The living room setup is chef’s kiss.

Then you open your comics folder. It’s a disaster. Invincible Issue 47 (2024) [Gekko-DCP] sits next to invincible_047_fixed_v2.cbz and two copies of something that might be issue 48 but you’re not sure. Kavita can’t figure out what series any of it belongs to and honestly, neither can you.

And then there’s that other library. You know the one. The one you manually sort every few months and hope nothing overlaps.

That’s where Mylar3 and Whisparr come in. They’re not officially part of the Servarr family — more like distant cousins who showed up at the reunion and turned out to be extremely competent. Let’s talk about both.


Mylar3: The *arr for Comics

Mylar3 is the mature, daily-driver solution for automating your comic book collection. It connects to Prowlarr (or direct indexers), pulls issues from torrent or Usenet, and organizes everything into a clean library structure that Komga and Kavita actually understand.

The “3” is because it’s a community fork of the original Mylar, which went stale. Mylar3 has been actively maintained for years and is genuinely production-quality at this point.

What Mylar3 Does

The ComicVine API Key — Don’t Skip This

Mylar3 uses the ComicVine API for all its metadata lookups. Without an API key, it’s basically blind. The good news: it’s free.

  1. Create an account at comicvine.gamespot.com
  2. Go to My Account → API
  3. Generate a key and paste it into Mylar3’s config under Settings → Advanced → ComicVine API Key

No key = no series matching = a folder of CBZ files with no idea where they belong. Don’t learn this the hard way.

Docker Compose for Mylar3

docker-compose.yml
services:
mylar3:
image: lscr.io/linuxserver/mylar3:latest
container_name: mylar3
environment:
- PUID=1000
- PGID=1000
- TZ=America/New_York
volumes:
- ./config/mylar3:/config
- /mnt/media/comics:/comics
- /mnt/downloads:/downloads
ports:
- "8090:8090"
restart: unless-stopped
komga:
image: gotson/komga:latest
container_name: komga
environment:
- TZ=America/New_York
volumes:
- ./config/komga:/config
- /mnt/media/comics:/comics:ro
ports:
- "25600:25600"
restart: unless-stopped

Point Mylar3’s library path to /comics. Point Komga’s library at the same path read-only. When Mylar3 drops a new issue, Komga rescans and it shows up in your reader within minutes.

Prowlarr Integration

In Mylar3: Settings → Indexers → Add → Newznab or Torznab — point it at your Prowlarr instance.

URL: http://prowlarr:9696
API Key: [your prowlarr key]

Prowlarr handles the indexer management. Mylar3 just queries it. Same pattern as every other *arr app.

Naming Convention That Won’t Break Your Reader

Mylar3’s default naming is solid but worth reviewing. In Settings → Formatting:

Folder Format: $Publisher/$Series ($Year)
File Format: $Series #$Issue ($Year)

This produces paths like:

/comics/Marvel/Invincible Iron Man (2022)/Invincible Iron Man #001 (2022).cbz

Komga parses this correctly. Kavita does too. Don’t use custom separators or emoji in folder names unless you enjoy debugging character encoding at 1 AM.

Common Pitfalls

Duplicate detection: Mylar3 tracks what it has by database record, not by filename scanning. If you manually drop files into the library folder without importing them through Mylar3 first, it’ll try to grab them again. Use the Manual Import or Wanted → Backfill workflow.

Story arc confusion: ComicVine has separate entries for “Amazing Spider-Man (1963)” and “Amazing Spider-Man (1999)” and “Amazing Spider-Man (2018)”. Make sure you’re adding the right run. Check the publication year when searching.

Download client path mapping: If Mylar3 and your download client run in separate containers, the /downloads path inside each container must resolve to the same physical directory. Map the same host path into both.


Whisparr: The One You Don’t Bring Up at Dinner

Whisparr is an *arr-style automation tool for adult video content. It’s a fork of Radarr v3/v4 that’s been adapted for adult film — handling metadata from StashDB/TPDB, scene matching, and performer/studio tagging.

Let’s be matter-of-fact here: if you’re running a home media server, this is a legitimate use case, and you deserve the same quality automation tooling as everything else in your stack. Whisparr provides that.

What Whisparr Does

Current Development State (2025–2026)

Whisparr v3 is the current stable branch. Development is active but slower than the main *arr apps — it’s a smaller contributor pool. Expect rougher edges: some metadata sources require manual configuration, UI quirks exist, and not every Radarr feature has been ported.

If you’re evaluating it: it works for daily use, but you’ll need to be comfortable digging into logs when things mismatch. It’s not a “set it and forget it” app on week one. By week three, once your indexers are tuned, it gets much calmer.

Docker Compose for Whisparr

docker-compose.yml
services:
whisparr:
image: ghcr.io/hotio/whisparr:v3
container_name: whisparr
environment:
- PUID=1000
- PGID=1000
- TZ=America/New_York
- UMASK=002
volumes:
- ./config/whisparr:/config
- /mnt/media/adult:/movies
- /mnt/downloads:/downloads
ports:
- "6969:6969"
restart: unless-stopped
stash:
image: stashapp/stash:latest
container_name: stash
environment:
- STASH_STASH=/data/
- STASH_GENERATED=/generated/
- STASH_METADATA=/metadata/
- STASH_CACHE=/cache/
volumes:
- ./config/stash:/root/.stash
- /mnt/media/adult:/data:ro
- ./stash/generated:/generated
- ./stash/metadata:/metadata
- ./stash/cache:/cache
ports:
- "9999:9999"
restart: unless-stopped

Use hotio/whisparr — it tracks v3 and is consistently updated. The v3 tag is more stable than latest right now.

Prowlarr Integration for Adult Indexers

Same setup as everything else — add Whisparr as an application in Prowlarr:

Prowlarr → Settings → Apps → Add Application → Whisparr

Prowlarr Server: http://prowlarr:9696
Whisparr Server: http://whisparr:6969
API Key: [your whisparr key]

The adult-content indexer landscape is… different from the mainstream *arr world. Some indexers that work fine for Radarr won’t have dedicated Whisparr categories, and you’ll need to manually configure category codes. Prowlarr handles this at the indexer level — check the indexer’s capabilities tab and map the right category numbers.

Stash Integration

Stash is the companion app — think Plex/Jellyfin, but built specifically for this content type. It handles:

Point Stash at the same /data path that Whisparr writes to (read-only in the Stash container is fine — it doesn’t move files). Run a library scan in Stash after Whisparr grabs something, or set up a scan trigger via Whisparr’s Connect → Custom Script setting.

stash-rescan.sh
#!/bin/bash
# Trigger Stash library rescan via GraphQL
curl -s -X POST \
-H "Content-Type: application/json" \
-H "ApiKey: YOUR_STASH_API_KEY" \
-d '{"query":"mutation { metadataScan(input:{useFileMetadata:false}) }"}' \
http://stash:9999/graphql

Drop this script somewhere accessible, make it executable, and configure Whisparr’s On Import connection to call it.

File Matching and Hashing

This is where Whisparr gets tricky. Adult content releases don’t have a centralized database like TMDB to pull clean metadata from. Whisparr uses a combination of title fuzzy-matching and scene hashes (via StashDB’s fingerprint database) to identify what it’s actually downloading.

Hash matching is significantly more accurate than title matching. To use it:

  1. Install Stash alongside Whisparr
  2. Enable StashDB fingerprint lookups in Stash: Settings → Metadata Providers → StashDB
  3. After import, Stash can submit/verify fingerprints — this improves matching for everyone over time

If you’re seeing mismatches (wrong metadata applied to a file), the title-based match probably picked the wrong scene. Check Whisparr’s Activity → History and use Manual Match to correct it.

Naming Convention

In Settings → Media Management → Standard Movie Format:

{Movie CleanTitle} ({Release Year}) {Quality Full} {MediaInfo VideoCodec}

For this content type you probably want something like:

{Movie CleanTitle} ({Release Year})

Performer and studio metadata shows up in Stash’s tags, not the filename. Keep filenames sane — your filesystem will thank you.


Why These Aren’t in the Official *arr Family

The Servarr team maintains Sonarr, Radarr, Lidarr, Readarr, and Prowlarr under one umbrella. Mylar3 and Whisparr are separate for straightforward reasons:

Mylar3: Comics have a completely different metadata structure than movies and TV. ComicVine’s API, issue numbering, story arcs, variant covers — none of this maps cleanly to TMDB/TVDB. Maintaining it inside the Servarr codebase would be a massive scope expansion for a niche use case. A separate community fork is the right call.

Whisparr: Content sensitivity. The Servarr team made an explicit decision not to support adult content indexers or metadata sources in their official apps. Whisparr is a maintained community fork that lives outside that umbrella by design. This is fine — it means Whisparr can be more aggressively tailored to its use case without political compromises.

Neither app is worse for being independent. Mylar3 in particular is legitimately polished. Whisparr is rougher but functional.


Backup Strategy for Both

These apps store their metadata and library mappings in SQLite databases inside their config directories. Backing up the config is the whole ballgame.

backup-snippet.yml
backup:
image: lscr.io/linuxserver/duplicati:latest
container_name: backup
volumes:
- ./config:/source/config:ro
- /mnt/backup/mylar-whisparr:/backups
environment:
- PUID=1000
- PGID=1000

Back up:

Do not just back up the media files and assume you can rebuild the DB from scratch. You’ll lose all your series monitoring, custom scoring profiles, and download history. The config directory is the important bit.


The Bottom Line

If your home server has a comics collection, Mylar3 is a no-brainer. It’s mature, well-documented, and integrates cleanly with Komga and Kavita. Get your ComicVine API key first, map your paths correctly, and it’ll run quietly in the background forever. Your comics folder will go from “chaotic pile” to “organized library” within a few hours of backfilling.

Whisparr is more of a project. It works, the Stash integration is genuinely good, but expect to spend some time tuning indexers and correcting early mismatches. By week two it settles down. If you’re running that kind of library, it’s far better than manual management — it’s just not as plug-and-play as Radarr.

Neither app makes it into most homelab blog posts, which is a shame, because they solve real problems for real people. Now you know they exist, what they do, and how to run them. The rest is up to you.


Share this post on:

Send a Webmention

Written about this post on your own site? Send a webmention and it'll show up above once verified.


Previous Post
Boundary vs Teleport
Next Post
Dify: Visual Agent Workflows

Discussion

Powered by Garrul . Sign in with GitHub or Google, or post anonymously.

Related Posts