Files
wordarr/README.md
T

3.7 KiB

wordarr

Sonarr/Radarr-Style Request- & Import-Manager für Ebooks, Comics/Mangas und Audiobooks.

Funktionsweise

  1. Anfragen: Im Web-UI per Titel/Autor/ISBN suchen (Ebooks: Open Library · Audiobooks: Audible · Manga: AniList) oder manuell anlegen. Beim Request wählst du die Ziel-Library (z.B. deine 8 Bookorbit-Libraries oder die 3 Audiobookshelf-Libraries english/adult/kids). Der Titel erscheint als Missing. Gehört ein Audiobook-Treffer zu einer Serie, legt „Ganze Serie…" alle Folgen auf einmal an (Folgennummer + echter Titel von Audible, optional auf einen Folgenbereich eingegrenzt). Audible hat keine Serien-Abfrage — wordarr sammelt die Folgen über mehrere Suchläufe ein; sollte eine fehlen, zeigt der Dialog die Lücke an.
  2. Download-Ordner: wordarr überwacht keinen Downloader aktiv — du legst Dateien selbst in den Download-Ordner (/mnt/downloads).
  3. Import missing: Im Tab Import den Ordner scannen. wordarr schlägt per Fuzzy-Matching Datei→Request-Zuordnungen vor (bei Serien zählt die Folgennummer im Ordnernamen plus der Serienname im Pfad, ??? und Fragezeichen gelten als dasselbe); du bestätigst oder korrigierst. Über 🔍 lässt sich zu einem Ordner direkt eine Anfrage suchen — eine führende Folgennummer (017 - Titel) wird dabei aus der Suchanfrage genommen, weil Audible sonst schlechter trifft, und stattdessen als Band/Folge übernommen. Beim Import wird die Datei nach dem Namensschema der Library umbenannt und verschoben. Ordner mit mehreren Audio-Dateien werden als ein Audiobook behandelt (Titel - Part 01.mp3, …). Auch Ordner, die in Disc-Unterordner (CD, CD1, CD 2, Disc 3, Teil 1) aufgeteilt sind, gelten als ein Audiobook — der Ordnername darüber liefert den Titel, die Parts werden über alle Discs hinweg durchnummeriert. Unterordner ohne Audio (Cover, Scans, Booklets) werden dabei ignoriert. Mehrteiler in Unterordnern (Teil A/Teil B, A - Titel/B - Titel) zählen ebenfalls als ein Hörbuch. Liegen die Teile dagegen nebeneinander (100 - Toteninsel Teil 1, … Teil 2, …), markierst du sie und klickst Ausgewählte zusammenfassen — sie werden als ein Hörbuch mit durchlaufenden Parts importiert (✂️ löst das wieder auf). Sind mehrere Einträge derselben Anfrage zugeordnet, fragt wordarr vor dem Import nach und fasst sie zusammen — sonst importiert nur der erste und der Rest scheitert. Fehlt einem bereits importierten Hörbuch später ein Teil, wählst du es im Zuordnungs-Dropdown unter Bereits importiert — Teile anhängen (↩︎); die neuen Dateien werden hinten angehängt und alle Tracks neu getaggt.

Setup (Docker)

docker compose up -d --build
# Web-UI: http://localhost:8787

docker-compose.yml anpassen: /mnt/downloads und die Library-Roots so mounten, dass die in wordarr konfigurierten root_path-Werte im Container existieren. Download-Ordner und Libraries sollten auf demselben Mount liegen, sonst wird das Verschieben zum Kopieren+Löschen (funktioniert, dauert nur länger).

Env Default Beschreibung
WORDARR_DOWNLOAD_DIR /mnt/downloads Gescannter Download-Ordner
WORDARR_CONFIG_DIR /config Ablage der SQLite-DB

Namensschemata

Pro Library konfigurierbar (Tab Libraries), Platzhalter: {Author} {Authors} {Title} {Year} {Series} {Volume}.

Defaults:

  • Ebook: {Author}/{Title} ({Year}) / {Author} - {Title}
  • Audiobook: {Author}/{Title} / {Title}
  • Comic: {Series} / {Series} - Band {Volume}

Entwicklung

python3 -m venv .venv && .venv/bin/pip install -e '.[dev]'
.venv/bin/pytest
WORDARR_CONFIG_DIR=./config WORDARR_DOWNLOAD_DIR=/mnt/downloads .venv/bin/uvicorn wordarr.main:app --port 8787