---
title: "HolyArrs Docker Guide: Ersetze Sonarr, Radarr, Lidarr, Bazarr, Prowlarr & Overseerr durch eine einzige 15-MB-App"
description: "Installiere HolyArrs mit Docker Compose und ersetze den Sechs-App-*arr-Stack durch einen einzigen 15-MB-Container. Behandelt qBittorrent-Verdrahtung, den Side-by-Side-Importer und ehrliche Caveats."
date: 2026-11-13
categories: ["self-hosting"]
tags: ["holyarrs","docker","media-server"]
---

Ein normales Media-Automation-Setup fährt sechs Apps. Sonarr für Serien, Radarr für Filme, Lidarr für Musik, Prowlarr für Indexer, Bazarr für Untertitel und Overseerr, damit deine Familie Sachen anfragen kann. Das sind sechs Container, sechs Logins, sechs Update-Zyklen und sechs API-Keys, die du zwischen ihnen hin- und herkopieren musst, damit sie miteinander reden.

HolyArrs ist ein Go-Rewrite dieses ganzen Stacks, verpackt in einen einzigen Self-hosted-Container. Das Image zieht mit etwa 15 MB, benchmarked bei grob 140 MiB RAM mit einer 10.000-Titel-Library und knackte kurz nach seinem Show-HN-Launch die 1.000 GitHub-Stars. Weil sein eingebauter Importer nur aus deinen alten Apps liest, ohne sie zu verändern, kannst du es neben einem bestehenden *arr-Stack hochziehen und die Ergebnisse Seite an Seite vergleichen. Dieser Guide deckt die Docker-Compose-Installation, die qBittorrent- und Jellyfin-Verdrahtung, den nicht-destruktiven Migrations-Flow und die Early-Project-Trade-offs ab, die du abwägen solltest, bevor du alte Container abschaltest.

Video: [HolyArrs Docker Guide: Replace 6 Containers With One 15 MB App](https://www.youtube.com/watch?v=lhJk1QJVaVo)

**Ein junges Projekt: daneben fahren, nicht stattdessen**

  HolyArrs hat im November 2026 die 1.0 erreicht. Der Importer ist dafür ausgelegt, neben deinem aktuellen Stack zu laufen, und lässt deine bestehende Konfiguration unberührt – fang also sauber an: installiere es, importiere deine Config, vergleiche Releases eine Woche lang und lass deine alten Container laufen, bis du zufrieden bist.

## Was HolyArrs ersetzt, in Zahlen

Aus dem amd64-Vergleich des Projekts gegen Standard-linuxserver.io-Images:

| | Download-Größe | Logins | Web-Ports |
|---|---|---|---|
| Sonarr + Radarr + Lidarr + Prowlarr + Bazarr + Overseerr | 718,2 MB | 6 | 6 |
| **HolyArrs** | **14,9 MB** | **1** | **1 (6262)** |

Das ist grob 48x kleiner auf der Platte. Speicher ist der größere praktische Unterschied auf einem kleinen VPS oder Pi: sechs .NET-Services im Leerlauf gegenüber einer einzelnen Go-Binary (die HolyArrs bei ~140 MiB benchmarked – mit 10.000 Titeln und 55.000 indexierten Filmen und Episoden).

Was gleich bleibt: HolyArrs lädt selbst nichts herunter. Es steuert den Downloader, den du schon hast (qBittorrent, Transmission, Deluge, rTorrent, aria2, SABnzbd, NZBGet), durchsucht Torznab-/Newznab-Indexer oder Prowlarr/Jackett und sagt Plex, Jellyfin oder Emby Bescheid, wenn Dateien landen. Die sechs Apps kollabieren zu einer; die Downloader und Medienserver drumherum bleiben, wo sie sind.

## Was du brauchst, bevor du anfängst

  

    
- Einen Docker-Host mit Docker Compose (dieselbe Box, auf der deine *arr-Apps laufen, geht)
    
- URL und Credentials deines Downloaders (qBittorrent, SABnzbd usw.)
    
- Indexer-Details: Torznab-/Newznab-URLs und Keys oder deine Prowlarr-URL und API-Key
    
- Die UID/GID, der deine Medienordner gehört (führe `id deinuser` aus)
    
- Einen Local-Disk-Pfad für `/config` (niemals ein Network-Share – Datenbankschreibzugriffe brauchen lokale I/O)
    
- Optional für die Migration: deine Sonarr-/Radarr-/Lidarr-/Prowlarr-/Bazarr-/Overseerr-URLs und API-Keys
  

Bevor du deine Compose-Datei schreibst, prüfe dein Ordner-Layout. HolyArrs' Standard-Compose-Template mountet getrennte `/movies`-, `/tv`-, `/music`- und `/downloads`-Ordner; ein einzelner gemeinsamer `/media`-Parent-Ordner, der alle vier Unterordner enthält (und exakt dieser Mount innerhalb deines Downloaders), lässt Imports dagegen als sofortige atomare Moves statt als langsame filesystemübergreifende Kopien laufen. Beide Layouts funktionieren, wenn du Libraries in der UI hinzufügst – der geteilte Parent spart Disk-I/O.

## HolyArrs mit Docker Compose installieren

```bash
mkdir -p /opt/holyarrs/config
cd /opt/holyarrs
```

Die Compose-Datei, gepinnt auf das 1.1.0-Release, das 44 Sprachen und aria2-Support brachte:

```yaml
name: holyarrs
services:
  holyarrs:
    image: holyarrs/holyarrs:1.1.0
    container_name: holyarrs
    environment:
      - PUID=1000        # match `id youruser`
      - PGID=1000
      - TZ=Europe/Bucharest
    volumes:
      - /opt/holyarrs/config:/config          # local disk only
      - /mnt/media:/media                     # one parent: /media/{movies,tv,music,downloads}
    ports:
      - 6262:6262
    restart: unless-stopped
```

```bash
docker compose up -d
docker logs -f holyarrs
```

Mit einem `/media`-Parent, der `movies`, `tv`, `music` und `downloads` hält, und deinem qBittorrent-Container, der `/mnt/media/downloads` auf `/media/downloads` im Container mountet, verschiebt HolyArrs fertige Downloads, ohne Bytes doppelt zu kopieren. Wenn dein Downloader auf einer anderen Maschine lebt, mounte denselben NFS-/SMB-Share am passenden Pfad auf beiden Hosts (`/config` bleibt auf lokaler Platte).

**Verifizieren, dass es läuft**

  `curl -sI http://localhost:6262 | head -1` gibt ein `200` oder `302` zurück, und `docker compose ps` zeigt den Container running, nicht restarting. Wenn er im Exit-Loop hängt, nennt `docker logs holyarrs` meist ein `/config`-Permission-Problem.

## Erster Start: Owner-Account, Ordner, Downloader

Öffne `http://your-server:6262` und erstelle den Owner-Account. Mach das sofort, denn es gibt kein Default-Passwort – und **die erste Person, die die App öffnet, wird Owner**. In einem geteilten Netzwerk heißt das: wer immer es zuerst findet.

Der Setup-Wizard fragt danach drei Dinge ab:

1. **Library-Ordner.** Zeig auf die In-Container-Pfade (`/media/movies`, `/media/tv`), nicht auf Host-Pfade.
2. **Einen Downloader.** Wähl qBittorrent, gib URL und Login ein. Wenn beide in Docker laufen, heißt `localhost` der Container selbst – nutze also den qBittorrent-Containernamen in einem geteilten Docker-Netzwerk oder die Host-IP.
3. **Eine Source.** Irgendeine Torznab-/Newznab-Indexer-URL + Key – oder zeig auf dein bestehendes Prowlarr. HolyArrs kann Indexer aus Prowlarrs Sync entgegennehmen, deine kuratierte Liste kommt also in einem Schritt rüber.

Danach landest du in Explore, das sich wie eine Streaming-App verhält: Hover über einen Titel und der Trailer spielt, frag eine ganze Show oder eine einzelne Staffel an, und deine Pick-Regeln (Größe, Qualität, Sprache) entscheiden, welches Release gewinnt.

## Deinen bestehenden *arr-Stack importieren (nicht-destruktiv)

Das ist der Hauptgrund, warum das Testen von HolyArrs risikoarm ist. Geh zu **Settings > Move from other apps**, gib URL und API-Key jeder bestehenden App ein (oder lade ein Backup-Zip hoch), führe **Try it** für einen Dry Run aus und klick dann **Move**. Der Importer liest nur aus Sonarr, Radarr und dem Rest – dein laufender Stack bleibt unangetastet, und du kannst später zurückrollen.

| Von | Was rüberkommt |
|---|---|
| Sonarr, Radarr, Lidarr | Library-Ordner, Titel, Quality-Profile (als Pick-Regeln), Exclusions, Naming, Indexer, Download-Clients |
| Prowlarr | Indexer, als Sources |
| Bazarr | Standard-Untertitelsprachen |
| Seerr / Overseerr | Personen und ihre wartenden oder genehmigten Requests |
| qBittorrent, SABnzbd | Downloader-Verbindungen |

Custom Formats, Tags, Grab-History und gespeicherte Passwörter wandern nicht automatisch mit; Secrets gibst du neu ein oder importierst sie separat, und Mediendateien auf der Platte bewegen sich nie.

Der sicherste Workflow ist: Importer laufen lassen, die bestehenden Container aktiv lassen und eine Woche geplanter Releases in HolyArrs' Kalender beobachten. Wenn ein Release nicht grabbt, hast du deinen funktionierenden Stack direkt daneben zum Vergleichen.

## Mit Jellyfin verdrahten (oder Plex/Emby)

Unter **Settings > Media servers** fügst du deine Jellyfin-URL und einen API-Key hinzu (`Jellyfin Dashboard > API Keys > New`). HolyArrs triggert einen gezielten Scan, sobald eine Datei importiert – neue Episoden erscheinen also sofort statt auf einen Library-Zeitplan zu warten. Wenn beide Container auf demselben Docker-Host laufen, zeig auf den Jellyfin-Containernamen in einem geteilten Docker-Netzwerk oder nutze die Host-Bridge-IP (statt `localhost`, das in den HolyArrs-Container selbst zeigt).

Noch kein Medienserver? Unser [Jellyfin-Self-hosting-Guide](/self-host-jellyfin/) deckt das komplette Docker-Setup inklusive Hardware-Transcoding ab, und [bestes NAS für Plex](/best-nas-for-plex/) rankt Storage-Boxen, wenn du den Medienhost von Grund auf baust.

## Tag-2-Betrieb: Backups, Updates, Doctor

Drei Dinge, die nach dem Install zählen:

**Der Master-Key (`holyarrs.key`).** Gespeicherte Passwörter und API-Keys werden mit `holyarrs.key` innerhalb von `/config` verschlüsselt, und Standard-Config-Backups schließen diese Datei absichtlich aus. Öffne **Settings > Backups > Download key kit** und lagere eine Kopie offline. Ohne `holyarrs.key` lassen sich gesicherte Credentials nicht entschlüsseln.

**Updates** sind die üblichen:

```bash
docker compose pull && docker compose up -d
```

Wenn ein Release das Daten-Layout ändert, nimmt HolyArrs automatisch ein Pre-Update-Backup. Rollback ist `docker exec holyarrs /holyarrs restore --pre-update` gefolgt von einem Restart.

**Troubleshooting** ohne Shell. Das Image hat keine drin – gut für die Angriffsfläche, nervig, wenn du erwartest, dass `docker exec -it holyarrs bash` funktioniert. Nutze die Built-ins:

```bash
docker exec holyarrs /holyarrs doctor        # OK/WARN/FAIL config check with fixes
docker exec -i holyarrs /holyarrs reset-owner  # locked out of owner account
docker inspect --format '{{ index .Config.Labels "org.opencontainers.image.version" }}' holyarrs
```

**Port 6262 nicht nach außen forwarden**

  Es gibt kein Default-Passwort, und die Owner-Erstellung ist first-come. Halte es im LAN, erreich es über Tailscale/WireGuard oder häng es hinter einen Reverse Proxy mit HTTPS; siehe unseren [Traefik-für-Docker-Guide](/traefik-proxy-docker/). Dieselbe Regel wie bei jeder *arr-App – nur dass der Blast Radius hier deine ganze Library ist, nicht ein einzelner Service.

## Was es noch nicht kann

Das README ist offen über die aktuellen Lücken, und du solltest sie vor der Migration kennen:

- **Kein eingebauter Downloader:** Es braucht qBittorrent, SABnzbd oder einen anderen unterstützten Client, auch wenn ein integrierter Downloader auf der Roadmap steht.
- **Keine AI- oder MCP-Integration** im 1.x-Release.
- **Nur Web-UI:** Es gibt noch keine nativen Phone- oder TV-Apps, auch wenn das Web-Interface auf mobilen Browsern brauchbar ist.
- **Unfertige Music-Sektion:** Music-Discovery in Explore ist noch unvollständig.
- **Zentraler Metadaten-Server:** Poster, Trailer und Charts laden von einem Metadaten-Dienst, der vom Autor betrieben und finanziert wird. Das erspart Nutzern das Konfigurieren eigener TMDb- oder TVDb-Keys, fügt aber eine externe Abhängigkeit hinzu. Bestehende Downloads und Mediendateien laufen weiter, falls dieser Server je offline geht – aber Explore und umfangreiche Metadaten-Lookups hängen an ihm.

Diese externe Metadaten-Abhängigkeit ist der größte strukturelle Trade-off gegenüber Sonarr und Radarr, die TMDb und TVDb direkt abfragen. HolyArrs wird aktuell hauptsächlich von einem Entwickler gepflegt (`CoderLuii`, AGPL-3.0 mit CLA) – deinen bestehenden Importer-Backup-Pfad intakt zu halten, ist also einfach vernünftiges Risikomanagement.

## FAQ

**Können Sonarr und Radarr weiterlaufen, während ich HolyArrs teste?**

Ja. Der Importer liest deine bestehenden Apps einmal und schreibt nie in sie. Lass alle sechs laufen, während du evaluierst – das ist der vorgesehene Rollout. Sobald HolyArrs sich ein paar Wochen bewährt hat, fahr die alten Container einzeln runter statt am ersten Tag alles zu löschen.

**Brauche ich noch Prowlarr?**

Nein, aber es hilft weiterhin. HolyArrs akzeptiert Torznab-/Newznab-Indexer direkt, Prowlarr ist also optional. Wenn du Prowlarr schon fährst, kann sein Sync Indexer automatisch in HolyArrs pushen – das spart das Neu-Eintippen. Der Importer kann sie stattdessen als Sources rüberziehen.

**Funktioniert HolyArrs auf einem Raspberry Pi oder NAS?**

Ja. Das Image shippt für amd64, arm64 und armv7 – Pi 4/5 und ARM-NAS-Boxen sind also abgedeckt. Die eine harte Regel ist `/config` auf lokaler Platte (SD-Karte oder SSD, kein Network-Share). Medienordner können auf gemounteten Shares liegen.

**Ist es wirklich kostenlos? Wo ist der Haken?**

Kostenlos und AGPL-3.0, keine Lizenz-Tiers. Der Haken ist der Metadaten-Server: Jede Installation redet mit einem Dienst, den der Autor aus eigener Tasche zahlt, finanziert durch GitHub-Sponsors. Wenn die Sponsorships versiegen, ist dieser Dienst der Teil, der am ehesten degradiert.

**Was passiert mit meinen Requests, wenn ich von Overseerr migriere?**

Der Importer übernimmt deine Nutzer und ihre wartenden oder genehmigten Requests – in Overseerr gestellte Anfragen laufen in HolyArrs weiter. Grab-History und Custom-Tags migrieren nicht.

## Fazit: Lohnt der Wechsel?

Probier es aus, wenn dich sechs getrennte Logins, Configs und ein halbes Gigabyte Images müde gemacht haben. HolyArrs handhabt den Core-Workflow (suchen, anfragen, grabben, importieren und Plex oder Jellyfin benachrichtigen) in einem Container mit sehr wenig Memory-Overhead.

Lass deinen bestehenden Stack vorerst daneben laufen. Jeder 1.x-Rewrite, der sechs langlaufende .NET-Apps ersetzt, wird gelegentlich noch in Edge Cases mit sturen Indexern, Custom-Naming-Formaten oder spezifischen Download-Clients rennen. Weil der Importer alles in 15 Minuten nicht-destruktiv liest, ist das Side-by-Side-Testen fast risikofrei – und gibt dem Projekt Zeit zum Reifen.

[Als Nächstes Jellyfin self-hosten](/self-host-jellyfin/)

## Verwandte Artikel

- [Jellyfin mit Docker Compose self-hosten](/self-host-jellyfin/) (der Medienserver, an den HolyArrs reportet)
- [Bestes NAS für Plex & Jellyfin](/best-nas-for-plex/) (Storage-Boxen für die Library)
- [Beste Docker-Container für einen Homeserver](/de/docker-container-homeserver/) (was sonst auf demselben Host laufen sollte)
- [Traefik Reverse Proxy für Docker](/traefik-proxy-docker/) (HolyArrs sicher exposen)
- [Docker-Compose-Secrets](/docker-compose-secrets/) (API-Keys aus schlichten Compose-Dateien raushalten)