FastAPI + SQLite backend with vanilla-JS web UI. Requests via Open Library / Audible / AniList metadata search (or manual entry) with per-request target library selection. Manual import flow: scan the download dir, fuzzy-match files against missing requests, review, then move+rename into the library per configurable naming templates. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
41 lines
2.0 KiB
Markdown
41 lines
2.0 KiB
Markdown
# 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**.
|
|
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; du bestätigst oder korrigierst. 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`, …).
|
|
|
|
## Setup (Docker)
|
|
|
|
```bash
|
|
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
|
|
|
|
```bash
|
|
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
|
|
```
|