Schlüssel aus einer Datei importieren
Einrichtung
Fülle eine Datei mit deinen Quellen, Downloadern, Medienservern, Untertitel-Seiten und E-Mail-Daten aus und importiere sie. So musst du nicht jeden Schlüssel in den Einstellungen eingeben.
Bevor du beginnst
Link zu Bevor du beginnst- HolyArrs läuft in Docker, die Konfiguration liegt unter
/config. - Du kannst unter Settings > API > API keys (Einstellungen > API > API-Schlüssel) einen API-Schlüssel des Besitzers erstellen.
Die Datei importieren
Link zu Die Datei importieren-
Kopiere holyarrs-secrets.template.yaml nach
holyarrs-secrets.yaml. -
Trage ein, was du nutzt. Lass den Rest leer; leer heißt überspringen.
-
Sorge dafür, dass nur du sie lesen kannst:
Terminal window chmod 600 holyarrs-secrets.yaml -
Binde sie schreibgeschützt in den Container ein:
volumes:- /srv/holyarrs/config:/config- /srv/holyarrs/holyarrs-secrets.yaml:/run/secrets/holyarrs.yaml:ro -
Erstelle unter Settings > API > API keys einen API-Schlüssel des Besitzers mit dem Scope admin. Trage ihn im Block
holyarrsder Datei ein, zusammen mit der Adressehttp://127.0.0.1:6262. -
Mache einen Probelauf. Er ändert nichts:
Terminal window docker exec holyarrs /holyarrs import-secrets -file /run/secrets/holyarrs.yaml -dry-runDu solltest pro Eintrag eine Zeile mit
would setsehen. -
Führe den Befehl richtig aus (derselbe Befehl ohne
-dry-run). Du solltest Zeilen mitsetund den Exit-Code0sehen. -
Prüfe neue Quellen und Downloader und setze sie dann fort. Teste neue Medienserver und Benachrichtigungen und schalte sie dann ein.
-
Lösche die Datei auf dem Host (siehe Die Datei löschen). Lösche auch den API-Schlüssel, wenn du ihn nicht mehr brauchst.
Was aus jedem Block wird
Link zu Was aus jedem Block wird| In der Datei | Wird zu |
|---|---|
trakt.client_id |
Der Schlüssel der Trakt-App (Settings > Outside lists, Einstellungen > Externe Listen). |
tmdb, tvdb |
Werden aus älteren Dateien angenommen. Metadaten brauchen keine Schlüssel. |
opensubtitles, subdl |
Eine Untertitel-Seite mit deinem Konto. |
addic7ed |
Eine Untertitel-Seite für Addic7ed, nur Serien. |
indexers |
Eine Quelle pro Eintrag, paused (pausiert). |
jackett, prowlarr |
Ihr Schlüssel füllt jeden Eintrag unter indexers mit derselben Adresse, der keinen Schlüssel hat. |
qbittorrent, sabnzbd |
Ein Downloader, paused. |
nzbget, transmission, deluge |
Werden übersprungen. Der Import kann sie noch nicht einrichten; füge sie unter Settings > Downloaders (Einstellungen > Downloader) hinzu. |
jellyfin, emby, plex |
Ein Medienserver, off (aus), bis du ihn testest. |
smtp, discord, webhook |
Die Benachrichtigungen „Email“, „Discord“ und „Webhook“, off, bis du sie testest. |
radarr, sonarr, lidarr, prowlarr, bazarr, seerr |
Ein Schlüssel, der für Move from other apps (Umstieg von anderen Apps) gespeichert wird. |
holyarrs |
Dient nur dazu, HolyArrs im laufenden Betrieb zu erreichen. Wird nie gespeichert. |
Jeder Schlüssel kommt in den verschlüsselten Tresor, genau wie einer, den du in den Einstellungen eingibst.
Optionen
Link zu OptionenDer Schalter für das lokale Netzwerk
Link zu Der Schalter für das lokale NetzwerkJeder Block mit einer Adresse kann allow_local_network: true bekommen. Damit darf dieser Eintrag diesen Rechner oder dein Heimnetz erreichen (192.168.x.x, 10.x.x.x, ein Containername). Ohne den Schalter erreicht der Eintrag nur das Internet, ein Downloader zu Hause antwortet dann nicht. HolyArrs leitet das nie aus der Adresse ab. Es ist derselbe Schalter wie May reach the local network (darf das lokale Netzwerk erreichen) in den Einstellungen.
Wenn HolyArrs gestoppt ist
Link zu Wenn HolyArrs gestoppt istStarte einen einmaligen Container mit derselben Konfiguration. Er speichert direkt in den Konfigurationsordner und braucht keinen Block holyarrs:
docker stop holyarrsdocker run --rm -e PUID=1000 -e PGID=1000 \ -v /srv/holyarrs/config:/config \ -v /srv/holyarrs/holyarrs-secrets.yaml:/run/secrets/holyarrs.yaml:ro \ holyarrs/holyarrs:latest import-secrets -file /run/secrets/holyarrs.yamldocker start holyarrsNimm dieselbe PUID und PGID wie die App, sonst geht der Konfigurationsordner an 1000:1000 über. Der Benutzer aus PUID muss die Datei lesen können. Wenn du HOLYARRS_MASTER_KEY_FILE nutzt, gib dem einmaligen Container dieselbe Variable und denselben Mount.
Erneut ausführen
Link zu Erneut ausführenDu kannst den Befehl gefahrlos erneut ausführen. Passende Einträge melden unchanged; nur geänderte Einträge werden gespeichert.
| Eintrag | Abgeglichen nach |
|---|---|
| Quellen | Name |
| Downloader, Medienserver | Art und Adresse |
| Benachrichtigungen | Name und Art |
| Untertitel-Seiten, bisherige Apps | Art |
Eine Quelle oder ein Downloader mit geänderter Adresse oder geändertem Schlüssel wird wieder pausiert. Sobald du einen Eintrag selbst fortgesetzt hast, lässt ein erneuter Lauf ihn weiterlaufen. Ein leerer api_key in einem Eintrag unter indexers behält den gespeicherten Schlüssel; füge clear_key: true hinzu, um ihn zu entfernen.
Die Datei löschen
Link zu Die Datei löschenMit -delete überschreibt der Befehl die Datei mit Nullen und entfernt sie, aber nur nach einem Lauf, bei dem nichts fehlgeschlagen ist. Ein schreibgeschützter Mount lässt sich aus dem Container heraus nicht löschen, lösche die Datei also auf dem Host:
| System | Befehl |
|---|---|
| Linux | shred -u holyarrs-secrets.yaml |
| macOS | rm -P holyarrs-secrets.yaml |
| Windows | Remove-Item holyarrs-secrets.yaml, danach den Papierkorb leeren. |
Auf SSDs und Copy-on-Write-Dateisystemen können alte Blöcke auf dem Datenträger bleiben. Die Schlüssel selbst liegen jetzt im verschlüsselten Tresor.
Wenn es nicht funktioniert
Link zu Wenn es nicht funktioniert| Symptom | Ursache | Lösung |
|---|---|---|
| Andere Benutzer können die Datei lesen | Die Berechtigungen sind zu offen. | Führe chmod 600 aus. Lege sie unter Windows in einen Ordner, den nur du öffnen kannst. |
| Ein unbekannter Schlüssel hat den Import gestoppt | Tippfehler oder ein Tab in der genannten Zeile. | Korrigiere diese Zeile. Es wurde nichts gespeichert. |
| Unverschlüsseltes http wurde abgelehnt | Die Adresse im Block holyarrs liegt nicht auf diesem Rechner. |
Führe den Befehl im Container mit http://127.0.0.1:6262 aus, oder nutze https. |
| Ein Downloader zu Hause antwortet nicht | Keine Berechtigung für das lokale Netzwerk. | Setze allow_local_network: true in diesem Block. |
| Der einmalige Container hat die Eigentümer von Ordnern geändert | Andere PUID/PGID. |
Nimm die PUID und PGID der App. |
-delete hat nichts getan |
Etwas ist fehlgeschlagen, oder der Mount ist schreibgeschützt. | Lösche die Datei auf dem Host. |
Für Fortgeschrittene
Link zu Für FortgeschritteneFlags und Exit-Codes
| Flag | Wirkung | Standard |
|---|---|---|
-file <path> |
Die Datei mit den Geheimnissen. | keiner |
-dry-run |
Sagt nur, was gesetzt würde. | aus |
-config <folder> |
Der Konfigurationsordner. | /config |
-delete |
Überschreibt die Datei nach einem Lauf ohne Fehlschläge mit Nullen und löscht sie. | aus |
-forget-move-credentials |
Löscht jeden gespeicherten Schlüssel bisheriger Apps und beendet sich dann. | aus |
-allow-http-lan |
Erlaubt unverschlüsseltes http:// zu einer Adresse im Heimnetz. Gibt eine Warnung aus. |
aus |
-allow-readable-file |
Nimmt eine Datei an, die andere Benutzer lesen dürfen. Docker Desktop unter Windows zeigt jede Datei als lesbar an. | aus |
Die Adresse im Block holyarrs muss https:// sein, oder unverschlüsseltes http:// nur zu diesem Rechner (127.0.0.1, ::1, localhost). Über unverschlüsseltes http gehen dein Besitzerschlüssel und die ganze Datei unverschlüsselt über die Leitung.
| Exit-Code | Bedeutung |
|---|---|
0 |
Jeder Eintrag hat geklappt. |
1 |
Ein Eintrag ist fehlgeschlagen. Korrigiere die Datei und führe den Befehl erneut aus. |
2 |
Fehlerhafte Befehlszeile oder Datei. |
Ausgabe
Eine Zeile pro Eintrag: set (oder would set im Probelauf, manchmal mit einem Hinweis), unchanged, skipped (empty), skipped (why) oder failed: why. Die Ausgabe enthält nie einen Schlüssel, ein Passwort, ein Token oder eine Adresse. Der Verlauf bekommt ein Ereignis, das nur Zahlen enthält. Ein Fehler, der einen Wert aus deiner Datei zeigen würde, zeigt stattdessen [hidden].
Dateiformat
Ein kleiner, strenger Teil von YAML:
- Blöcke durch Einrückung mit Leerzeichen, nie mit Tabs; Listen mit
-, - Werte ohne Anführungszeichen, in
"double quotes"oder in'single quotes'(ein'innerhalb einfacher Anführungszeichen schreibst du doppelt), #beginnt einen Kommentar am Zeilenanfang oder nach einem Leerzeichen außerhalb von Anführungszeichen; setze ein Passwort, das#enthält, also in Anführungszeichen,- setze einen Wert in Anführungszeichen, der mit
&,*,!,|,>,[,{,%,@oder einem Backtick beginnt oder der:enthält.
Ein unbekannter Schlüssel oder eine Datei über 256 KB stoppt den ganzen Import, bevor etwas gespeichert wird; die Meldung nennt den Schlüssel und die Zeile. Eine Verknüpfung auf die Datei wird abgelehnt.
Besondere Felder
| Feld | Regel |
|---|---|
| SABnzbd | Braucht den vollen api_key. Ein nzb_key, ein Benutzername oder ein Passwort wird übersprungen und nie gespeichert. |
tvdb.api_key, tvdb.unique_user_key, trakt.redirect_urls |
Werden angenommen und übersprungen. |
smtp.host |
Nur der Servername, ohne Schema oder Port. |
smtp.port |
1 bis 65535. Standard 587. |
smtp.from |
Eine einfache E-Mail-Adresse. |
| Blöcke bisheriger Apps | Werden in Move from other apps mit Use the saved key (gespeicherten Schlüssel verwenden) genutzt. Werden nie angezeigt, nur für den Besitzer, nach einem erfolgreichen Lesen gelöscht. |
Verwandte Seiten
Link zu Verwandte SeitenHolyArrs ist kostenlos. Wenn es dir Zeit gespart hat, gib ihm einen Stern auf GitHub, unterstütze es als Sponsor oder spendier mir einen Kaffee.