Skip to content

Repository files navigation

Tdarr Pocket

Your Tdarr server. Your pocket.
Unofficial Android ops console for self-hosted Tdarr — glance, pause, re-queue, and dig into workers without opening a laptop.

Unofficial MIT License Android 8.0+ Version 0.2.1

Unofficial disclaimer — Tdarr Pocket is an independent community project. It is not affiliated with, endorsed by, or sanctioned by the Tdarr project or its creators (HaveAGitGat / Tdarr). Tdarr® and related marks belong to their respective owners. Use at your own risk with your own server.

Overview screen   Queue TC Done


Why this exists

The Tdarr web UI is excellent on a desktop. On a phone, it’s a lot of pinch-zoom for a simple job: is anything failing, and can I stop or fix it right now?

Tdarr Pocket is a native Android companion for that job — built for LAN/VPN self-hosters who want:

  • One-thumb ops while dinner’s on the stove
  • Shade & home-screen controls that don’t need the full app open
  • Honest stats pulled from your server (no fake demo charts)
  • Sideload simplicity — GitHub Releases, not a store listing

If you’re already running Tdarr at home, this is the remote for it.


What you can do from your phone

At a glance

Overview Space saved, queue chips, LIVE/OFFLINE + poll age, pull-to-refresh
Analytics Per-library storage savings + codec pies by file count (same get-pies source as the desktop console)
Throughput Live combined transcode FPS while workers are running (session / ~60s window)

Overview with analytics

Nodes & workers

Limits Bump health-check / transcode CPU & GPU worker caps
Pause / resume Per-node or global pause
Jobs in flight See active workers, %, FPS, cancel or kill when something’s stuck
Night schedule Auto-boost worker limits overnight, then restore

Queue & recovery

Tabs Transcode / health-check success & error queues, staging, reports
Bulk actions Select files and re-queue, skip, or clear
Re-queue all errors One action for the current error list
Staging Review staged output before accepting
Reports & logs Open job reports and dig into failure detail

Queue TC Done

Libraries & flows

Library CRUD Create / edit libraries, cache path, flow assign, trigger scan
Flow canvas Browse flow graphs on-device (view-first; deep editor parity deferred)
Search Rich file search with filters

Live console

Log streamer Dark terminal view with live polling
Filters INFO / WARN / ERROR levels + text search
Copy Grab log chunks to clipboard

Android-native power (the browser can’t do this)

Quick Settings tile Pause / resume all workers from the shade
Home widget FAIL count, active workers, one-tap Pause All
Alerts WorkManager polls; notification actions (e.g. re-queue from the banner)
Test alert More → Alerts → Send test alert to verify permission + actions
Ops tips In-app guide for tile, widget, and battery unrestricted
Themes Pitch Black OLED, Matrix Green, Cyberpunk Cyan, Amber Terminal, Dark Console

Server & setup utilities

Profiles Multiple servers; encrypted API key storage
Export / import Backup connection profiles as JSON; restore on another device
Global tools Pause-all, auto-accept, staged limit, schedules, bumped files, variables
Webhooks Discord / Slack / Ntfy template builder + test send
Onboarding Welcome → test connection → connect; tile / widget / battery tips
About Version line under More for support reports

Install

Requires JDK 17+, Android SDK, and your Tdarr server reachable on LAN or VPN.

Debug (day-to-day)

./gradlew :app:assembleDebug
adb install -r app/build/outputs/apk/debug/app-debug.apk

Package: com.tdarr.mobile.debug

Release (share / GitHub Releases)

  1. Copy keystore.properties.examplekeystore.properties and generate a keystore (see file comments).
    Never commit *.jks or keystore.properties.
  2. Build & install:
./gradlew :app:assembleRelease
adb install -r app/build/outputs/apk/release/app-release.apk

Package: com.tdarr.mobile · version 0.2.1

Or download the signed APK from Releases.

Full checklist: docs/RELEASE_CHECKLIST.md.


First run

  1. Welcome → Add server — enter URL, optional API key, Test connection, then save.
  2. First profile enables local alerts and prompts for notification permission.
  3. Follow the tile / widget / battery tips so shade controls and alerts stay reliable.

Reliable background alerts

Alerts use WorkManager. On aggressive OEMs (Samsung, Xiaomi, etc.):

Settings → Apps → Tdarr Pocket → Battery → Unrestricted

Then: More → Alerts → Send test alert.

Quick Settings tile & widget

  • Tile: Shade → edit → “Tdarr Active” → drag into tiles
  • Widget: Long-press home → Widgets → Tdarr Pocket
  • Tips are also under More → Alerts → Tile, widget & battery tips

Screenshots

Device captures of Overview and Queue (personal library/file names redacted in-frame).

File Screen
docs/screenshots/02-overview.png Overview + analytics
docs/screenshots/04-queue.png Queue · TC Done

Stack

Native Android · Jetpack Compose · Hilt · Ktor · WorkManager · Glance

app/src/main/java/com/tdarr/mobile/
├── alerts/     # WorkManager alerts, notification actions
├── data/       # DataStore, encrypted keys, Ktor API, repos
├── domain/     # Models + contracts
├── ui/         # Screens, Canvas charts, widget, QS tile, themes
└── di/         # Hilt

Report issues

Something broken, confusing, or missing? Open a GitHub Issue:

github.com/fefsf/tdarr-pocket/issues

Please include:

  • App version (More → About, e.g. v0.2.1) and debug vs release build
  • Android version / device (optional)
  • What you expected vs what happened
  • Steps to reproduce
  • Relevant logs (Log streamer or logcat) — redact API keys, hostnames, and personal file paths

Feature ideas are welcome as Issues too. Known deferred gaps include persisted 24h FPS history, deeper flow editing, and Play Store publishing.


Contributing & license

See CONTRIBUTING.md. Licensed under MIT.

Not on the Play Store (by design for now). Sideload from Releases.

About

Unofficial Android ops console for self-hosted Tdarr — glance, pause, re-queue, and control from your phone.

Resources

Contributing

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages