Desktop / Mobile · DevOps

Dashboard

← Back to Applications

Overview

A Flutter control center for a self-hosted media stack that monitors and manages Docker media services, Node.js backends, and local conversion, request, and release workflows from a single app — on desktop or mobile, over LAN or Tailscale.

It shows live status, CPU, RAM, and network I/O for containers like Jellyfin, Sonarr, Radarr, qBittorrent, Prowlarr, Jellyseerr, and FlareSolverr (talking to the Docker Engine API via Dockerode), with start/stop/restart and log viewing. Jellyseerr and FlareSolverr are first-class tiles with their own detail pages, and a search-and-request flow lets you find a movie or show, pick seasons, and have Jellyseerr auto-route the request to Sonarr/Radarr — posters from TMDB, with already-available titles flagged instead of offered.

Beyond monitoring it does real work: an MKV→MP4 converter probes files with ffprobe and chooses remux vs. audio re-encode, mapping subtitle streams correctly with live FFmpeg progress; a one-click Anime Dual Audio setup idempotently configures Sonarr/Radarr custom formats and quality-profile scores; and a Publish Apps page runs the release/publish PowerShell pipelines for each app (version bump → build → upload) behind a confirm dialog with a live streaming console. A process manager spawns and health-checks the Node backends, stripping PORT/HOST from the parent env so each child reads its own config.

Video Demo

Dashboard Demo

Tech Stack

FlutterNode.jsExpressDockerodeFFmpegWebSocketJellyseerrSonarr/Radarr APIPowerShell

Key Features

  • Live Docker container stats with start/stop/restart and logs
  • Jellyseerr + FlareSolverr as first-class tiles with detail pages
  • Search & request movies/TV (multi-season picker) auto-routed to Sonarr/Radarr
  • MKV→MP4 converter: ffprobe strategy, subtitle mapping, live progress, cancel
  • One-click idempotent Anime dual-audio Sonarr/Radarr configuration
  • Publish Apps: run release/publish pipelines with a live streaming log + cancel
  • Self-build guard — the dashboard can't Release itself (Windows locks the running exe), enforced in both UI and backend
  • Process manager for Node backends with health-check polling
  • Floating Iris chat bubble with WebSocket streaming and action dispatch
  • Smart IP resolution across localhost / LAN / Tailscale
  • Path-traversal-protected media browsing, API-key auth on every route