Files
tdarr-cli/doc/plan.md
claude 7c0c55bcea
All checks were successful
release / release (push) Successful in 1m4s
Initial tdarr-cli: Python CLI for the Tdarr API
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
2026-07-05 20:31:39 +02:00

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> (wrappar update-node).
  • create-library / set-flow som 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?