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 and automation 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, and Prowlarr (talking to the Docker Engine API via Dockerode), with start/stop/restart and log viewing. A process manager spawns and health-checks the various Node backends, stripping PORT/HOST from the parent env so each child reads its own config and avoids port conflicts.

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 and reporting live FFmpeg progress; a one-click Anime Dual Audio setup idempotently configures Sonarr/Radarr custom formats and quality-profile scores; and a floating Iris chat bubble streams responses and dispatches parsed actions like “restart jellyfin.” Smart IP resolution lets the same build work on PC, phone-on-WiFi, and phone-on-Tailscale with no config changes.

Video Demo

Dashboard Demo

Tech Stack

FlutterNode.jsExpressDockerodeFFmpegWebSocketSonarr/Radarr API

Key Features

  • Live Docker container stats with start/stop/restart and logs
  • Process manager for Node backends with health-check polling
  • MKV→MP4 converter: ffprobe strategy, subtitle mapping, live progress, cancel
  • One-click idempotent Anime dual-audio Sonarr/Radarr configuration
  • 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