Skip to content

AaronIsMeUx/stash-stack-health

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Stash Stack Health

A SwiftBar menubar plugin for macOS that monitors your self-hosted Stash media automation stack.

At a glance:

  • 🟢 All services healthy
  • 🟡 One or two services down
  • 🔴 Multiple services down

Click the indicator for a live status breakdown and quick-launch links for each service.

Stash Stack Health menubar screenshot


What it monitors

Service Default port Notes
Stash 9999 Native Mac app or Docker
Whisparr 6969 Adult content Arr
Prowlarr 9696 Indexer manager
FlareSolverr 8191 Cloudflare bypass
qBittorrent 8080 Download client
Docker daemon Required for containerized services
Media drive Optional: monitors an external drive mount

All services are individually toggleable. Runs any combination — Radarr, Sonarr, Transmission, etc. can replace any of the defaults via config.sh.


Requirements

  • macOS
  • SwiftBar (free, open source)
  • curl (pre-installed on macOS)
  • docker CLI (only if CHECK_DOCKER=true)

Install

1. Install SwiftBar if you haven't already:

brew install --cask swiftbar

2. Copy the plugin to your SwiftBar plugins folder:

cp stash-stack-health.5m.sh ~/Library/Application\ Support/SwiftBar/Plugins/
chmod +x ~/Library/Application\ Support/SwiftBar/Plugins/stash-stack-health.5m.sh

The .5m. in the filename tells SwiftBar to refresh every 5 minutes. Rename to .1m. for every minute, .30s. for every 30 seconds, etc.

3. Configure (optional but recommended):

mkdir -p ~/.config/stash-stack-health
cp config.example.sh ~/.config/stash-stack-health/config.sh
# Edit ~/.config/stash-stack-health/config.sh to match your setup

4. Refresh SwiftBar — right-click the SwiftBar icon → Refresh All. Your stack indicator will appear in the menu bar.


Configuration

Copy config.example.sh to ~/.config/stash-stack-health/config.sh and edit:

# Disable services you don't run
CHECK_FLARESOLVERR=false
CHECK_WHISPARR=false

# Monitor an external media drive
CHECK_MEDIA_DRIVE=true
MEDIA_DRIVE_PATH="/Volumes/MY MEDIA DRIVE"

# Custom ports
STASH_PORT=9999
QBITTORRENT_PORT=8080

# Hide StashDB link from dropdown
STASHDB_URL=""

Manual run

You can also run the health check directly in your terminal:

bash stash-stack-health.5m.sh

Notifications

When a service changes state (healthy → degraded or vice versa), a macOS notification fires automatically. You won't get spammed on every refresh — only on state changes.


License

MIT — see LICENSE.

About

SwiftBar menubar health monitor for a Mac-hosted Stash + Arr media automation stack

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages