The project is in a healthy, maintained state
A minimal, self-contained bash dashboard for monitoring a home media server. Displays service health, disk usage, active Plex streams, download speed, uptime, and quick-access links in a single terminal window.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
 Dependencies
 Project Readme

terminal-dashboard

A minimal, self-contained bash dashboard for monitoring a home media server. Displays service health, disk usage, active Plex streams, download speed, uptime, and quick-access links — all in a single terminal window with an animated cat.

screenshot

Features

  • Service monitoring (Plex, Sonarr, Radarr, Prowlarr, AdGuard, Syncthing)
  • Seagate external drive usage
  • Active Plex stream count
  • qBittorrent download speed
  • System uptime
  • Web UI quick-links table
  • Auto-refresh every 60 seconds
  • Animated cat patrols the bottom of the terminal

Install

Homebrew

brew tap embmeals/tap
brew install terminal-dashboard

RubyGems (GitHub Packages)

gem install terminal-dashboard --source "https://rubygems.pkg.github.com/embmeals"

Requirements

  • macOS (uses defaults read, pgrep, tput)
  • curl, python3
  • Plex Media Server running locally
  • qBittorrent Web UI reachable on the network

Configuration

All settings are at the top of lib/dashboard.sh:

Variable Default Description
PLEX_TOKEN Read from macOS defaults Plex authentication token
QBIT_URL http://192.168.1.133:8080 qBittorrent Web UI address
QBIT_USER admin qBittorrent username
QBIT_PASS (empty) qBittorrent password
REFRESH_INTERVAL 60 Seconds between data refreshes

Set credentials via environment variables:

export QBIT_PASS="yourpassword"
./dashboard.sh

Usage

terminal-dashboard

Or run directly from source:

chmod +x lib/dashboard.sh
./lib/dashboard.sh

Press Ctrl+C to exit. The terminal is automatically reset on exit.

License

MIT