Initial Tdarr-tray: KDE systray applet for the Tdarr workstation node
All checks were successful
release / release (push) Successful in 16s
All checks were successful
release / release (push) Successful in 16s
PyQt6 QSystemTrayIcon: green=running, red=stopped, yellow=transition. Pause/resume the node via the API (frees/reclaims the GPU, no sudo) so you can free the 4060 Ti before gaming. Playbook standard: README (per-OS prereqs + build/run/test), doc/plan.md, .gitignore (build/ first), VS Code build task -> ./build, install.sh + one-line curl (clone or release), 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
This commit is contained in:
34
doc/plan.md
Normal file
34
doc/plan.md
Normal file
@@ -0,0 +1,34 @@
|
||||
# Tdarr-tray — plan
|
||||
|
||||
## Goal
|
||||
En systray-applet på workstationen som visar om Tdarr-noden (den som kör NVENC på
|
||||
4060 Ti) transkoderar, och låter dig pausa/återuppta den med ett klick — så du
|
||||
snabbt kan frigöra GPU:n innan du spelar och återuppta efteråt.
|
||||
|
||||
## Stack
|
||||
- Python 3 + **PyQt6** (`QSystemTrayIcon`). KDE/Plasma, Wayland.
|
||||
- Pratar med Tdarrs API (`x-api-key`), samma auth som tdarr-cli.
|
||||
|
||||
## Deploy target
|
||||
Pattern A (installerbar). `install.sh` → `~/.local/bin/tdarr-tray` + autostart
|
||||
(`~/.config/autostart/`). Release-CI publicerar `tdarr-tray.py` + `install.sh` till
|
||||
rullande `latest`; en-rads `curl … | sh`.
|
||||
|
||||
## Design
|
||||
- Pollar `GET /api/v2/get-nodes` var 5:e sekund, matchar noden på **namn** (id
|
||||
ändras vid varje nod-restart).
|
||||
- Läge → ikonfärg: körs (grön) / körs inte = pausad|offline (röd) / övergång (gul).
|
||||
- Aktiva transkodningar = `workers` med `idle:false`.
|
||||
- Paus/återuppta: `POST /api/v2/update-node {nodeUpdates:{nodePaused:…}}` (ingen sudo;
|
||||
paus dödar ffmpeg → encoder 0 %).
|
||||
|
||||
## Roadmap / expansions
|
||||
- Notis (ntfy/knotify) när kön är klar eller noden felar.
|
||||
- Visa kö-längd / sparat diskutrymme i tooltip.
|
||||
- Snabbval: pausa i X minuter, eller auto-paus när ett spel körs (t.ex. via
|
||||
gamemode/process-watch).
|
||||
- Stöd att styra flera noder (inte bara workstationen).
|
||||
|
||||
## Open questions
|
||||
- Ska "stäng av" även kunna stoppa container (kräver docker/sudo) eller räcker
|
||||
paus (frigör GPU:n redan)? Nuläge: paus räcker.
|
||||
Reference in New Issue
Block a user