Add anipy-cli download fallback

Add an optional config toggle that retries failed ani-cli downloads with anipy-cli, expose fallback runtime status in the config page, and update release docs and tests for the new behavior.
This commit is contained in:
Dymas
2026-07-09 14:11:40 +02:00
parent 332ec670fc
commit d8ed64bd64
8 changed files with 319 additions and 61 deletions
+13 -2
View File
@@ -2,12 +2,13 @@
Local web UI for a system-wide `ani-cli` install.
Current version: `0.46.0`
Current version: `0.47.0`
## What it does
- Search anime in `sub` or `dub`, with poster-style results shown below the selection panel and the first English alternate title when available
- Queue downloads with folder, quality, media type, season, and episode controls
- Optionally retry failed `ani-cli` downloads with `anipy-cli`
- Track shows in a watchlist with `Watching`, `Planned`, `Finished`, and `Dropped` categories
- Expose a small JSON summary endpoint for Homepage dashboard widgets
- Refresh watchlist episode counts manually or on a schedule
@@ -20,13 +21,14 @@ Current version: `0.46.0`
- `/`: Search and queue downloads, with poster-card search results below the selection box and alternate English titles under the main name when available
- `/queue`: Monitor jobs, inspect logs, retry failed jobs, remove finished jobs
- `/watchlist`: Track shows, refresh them, download all available episodes, and manage auto-download settings such as `Source name`, library `Name`, season, and episode offset
- `/config`: Save defaults, schedule refreshes, configure Jellyfin and Discord, monitor Jellyfin handoff progress, and view runtime info and the changelog
- `/config`: Save defaults, toggle `anipy-cli` fallback retries, schedule refreshes, configure Jellyfin and Discord, monitor Jellyfin handoff progress, and view runtime info and the changelog
## Quick start
Requirements:
- `ani-cli` installed and available in `PATH`
- Optional: `anipy-cli` installed and available in `PATH` if you want automatic fallback retries
- Common runtime tools used by `ani-cli`, especially `curl`, `ffmpeg`, `fzf`, `grep`, `openssl`, `sed`, `aria2c`, and `yt-dlp`
Run locally:
@@ -47,6 +49,7 @@ Useful flags and env:
- `ANI_CLI_WEB_HOST=0.0.0.0`
- `ANI_CLI_WEB_PORT=8421`
- `ANI_CLI_BIN=/path/to/ani-cli`
- `ANIPY_CLI_BIN=/path/to/anipy-cli`
## Docker
@@ -99,6 +102,12 @@ Docker notes:
- Uses the per-show language, quality, `Source name` search override, season, library name, and optional episode offset settings
- Can queue backlog episodes that were already available before the show was first tracked
### Download fallback
- Optional and configured from `/config`
- When enabled, a failed `ani-cli` queue job retries once with `anipy-cli`
- `anipy-cli` should be installed separately on the host or inside your container if you want the retry path to be available
### Jellyfin handoff
- Optional and configured from `/config`
@@ -135,6 +144,7 @@ The Config page runtime panel shows:
- `ani-cli-web` version loaded from `VERSION`
- Installed `ani-cli` version
- Installed `anipy-cli` version and dependency status
- A `Changelog` button that opens a scrollable viewer backed by `CHANGELOG.md`
## Remote access
@@ -182,6 +192,7 @@ ANI_CLI_DOWNLOAD_DIR/movie/Movie Name/Movie Name.mp4
Most users only need these environment variables:
- `ANI_CLI_BIN`
- `ANIPY_CLI_BIN`
- `ANI_CLI_WEB_HOST`
- `ANI_CLI_WEB_PORT`
- `ANI_CLI_WEB_ALLOW_REMOTE`