All checks were successful
release / release (push) Successful in 1m4s
status/nodes/worker/cruddb/insert/api commands (stdlib only). Cracked Tdarr's x-api-key auth (seededApiKey), alter-worker-limit and update-node formats. Used to set up 2-node transcoding (workstation NVENC + Pi5 CPU fallback). Playbook standard: README (per-OS prereqs), doc/plan.md, .gitignore (build/ first), VS Code build task, install.sh + one-line curl, Gitea Actions rolling-latest release. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011YPrEZVBpPVoCRyJz2exkZ
1.8 KiB
1.8 KiB
tdarr-cli — plan
Goal
En liten, skriptbar CLI mot Tdarrs (odokumenterade) HTTP-API så att Tdarr-servern på Pi5 kan konfigureras/styras utan webb-UI:t — noder, worker-gränser, bibliotek och generiska anrop. Ursprungligen byggd för att sätta upp 2-nod-transkodning (workstation NVENC + Pi5 CPU-fallback).
Stack
- Python 3, endast standardbibliotek (
urllib,json,argparse). Ingen build. - Arkitektur-oberoende (körs på både x64 och arm64 med python3).
Deploy target
Pattern A — installerbar CLI. Release-CI publicerar tdarrctl (+ install.sh,
checksums.txt) till en rullande latest-release; en-rads curl … | sh-install.
Auth
x-api-key (Tdarr seededApiKey). Nyckeln läses ur env eller ~/tdarr-node/.env,
skrivs aldrig ut.
Kommandon (nuläge)
status, nodes, worker, libraries, cruddb (generisk collection-CRUD),
insert (insert/update/removeOne), api (generiskt HTTP).
Kartlagda API-detaljer:
alter-worker-limit:{data:{nodeID, workerType:<transcodegpu|…>, process:<increase|decrease>}}.update-node:{data:{nodeID, nodeUpdates:{…}}}(t.ex.nodePaused).- cruddb-collections:
LibrarySettingsJSONDB,FlowsJSONDB,NodeJSONDB,PluginJSONDB, m.fl. modes:getAll,insert,update,removeOne.
Roadmap / expansions
- Bekvämlighetskommandon:
pause <nod>/resume <nod>(wrapparupdate-node). create-library/set-flowsom bygger korrekta objekt (Tdarr-objekten är stora/ömtåliga via rå cruddb — bibliotek/flow görs idag bäst i UI:t).- Konfigfil (
~/.config/tdarrctl/config.json) för URL + nyckel-referens. --json-utdata för skriptning.
Open questions
- Vilka fler high-level-kommandon är värda att curera (vs generisk
cruddb/api)? - Ska den slås ihop med/ersättas av tdarr-tray för icke-CLI-styrning?