Skip to content

Kapowarr

Comic acquisition layer — the Sonarr-equivalent for comics — running in the komga stack on the arrstack VM. Monitors volumes/issues against ComicVine, downloads them, renames and organises the files, and drops finished CBZs into the folder Komga watches, so new issues surface in the reader without manual work.

Western comics / graphic novels are its wheelhouse (it's ComicVine-driven). Manga coverage is thin — see Not in scope.

LAN URL: http://192.168.1.252:5656. No public route — LAN-only admin UI, like the *arrs.

Service details

Property Value
Host arrstack VM (192.168.1.252) — see arrstack service page
Image mrcas/kapowarr:latest (upstream docs)
Config storage named volume kapowarr_db (/app/db in-container)
Library root /stash/rodneystash/Comics/comics (rw) — the same folder Komga reads
Download dir /stash/rodneystash/ComicsDL/app/temp_downloads
Compose stacks/komga/docker-compose.yml
Management Dockhand (Git-backed Docker Compose) — controller is local on arrstack
Host port 5656 → published on gluetun-kapowarr's netns
Egress All traffic via gluetun-kapowarr (dedicated ProtonVPN WireGuard session)
Metadata source ComicVine (API key set in the Kapowarr UI)
Backup kapowarr_db sits under /var/lib/docker/volumes/ — part of the VM's vzdump snapshot

Folder layout — the non-intersect rule

Kapowarr requires its db, download and root folders not to intersect — the download folder in particular must not live inside the library root. Hence:

/stash/rodneystash/Comics     → /comics              (library root, rw)
/stash/rodneystash/ComicsDL   → /app/temp_downloads  (temp, SIBLING of Comics)

Both sit on the same ZFS pool, so a finished download moves into the library by atomic rename rather than a cross-filesystem copy. Keeping the temp dir outside Comics also stops Komga from scanning half-downloaded files.

VPN egress

Kapowarr shares the network namespace of gluetun-kapowarr (network_mode: service:gluetun-kapowarr), so every request it makes leaves through ProtonVPN — matching the qBittorrent/slskd posture. Kapowarr has no built-in proxy setting, so netns-sharing is the only way to route it.

  • Its own ProtonVPN WireGuard session (the third — qBit and slskd hold the others), key in PROTONVPN_WIREGUARD_PRIVATE_KEY_KAPOWARR.
  • VPN_PORT_FORWARDING=off — DDL is outbound-only, so unlike qBit/slskd there's no forwarded port to chase. Simpler, and no NAT-PMP collision risk.
  • FIREWALL_OUTBOUND_SUBNETS=192.168.1.0/24 keeps the LAN reachable so the UI works and a LAN download client stays reachable if the torrent path is wired later.
  • Because it shares the netns, kapowarr declares no ports:/networks: of its own — 5656 is published on the gluetun container.

Kill-switch check

Stop gluetun-kapowarr and Kapowarr loses all networking (shared netns). That's the proof there's no leak path outside the tunnel.

Sources & the DDL model

GetComics is Kapowarr's only source. It scrapes getcomics.org for matches, then its built-in HTTP downloader pulls the actual files from filehosts — Mega / MediaFire / Pixeldrain. Providing premium accounts for those hosts (in Kapowarr's settings) raises bandwidth and rate limits.

Practical caveats, versus a Sonarr/Usenet workflow:

  • Filehost rate limits and waits are the main friction (Mega worst).
  • Stalled downloads are auto-deleted after a timeout.
  • ComicVine's API is rate-limited (~200 req/hour) and is shared with komf — stagger large scans.
  • GetComics coverage is patchier than a TV/movie indexer; expect more manual intervention than Sonarr.

Metadata — Kapowarr does not feed Komga

Kapowarr uses ComicVine for its own matching, naming and organising, but it does not write ComicInfo.xml into the files (Casvt/Kapowarr#50). Komga has no online scraper of its own, so a Kapowarr-acquired file lands in Komga with only whatever metadata the release already embedded, or filename parsing.

komf is the piece that populates Komga's metadata. Treat Kapowarr as "get + organise" and komf as "make it accurate."

Not in scope

  • Torrent client wiring — Kapowarr can hand torrent-backed GetComics posts to an external client (qBittorrent), but that needs a remote-path-mapping. Deferred; DDL-only to start.
  • Manga — Kapowarr is ComicVine/GetComics oriented and thin on manga. Suwayomi is the manga-specific downloader if that side ever grows. (komf still handles manga metadata regardless.)
  • Public exposure — LAN-only, no Caddy route or CNAME.