Skip to content

About

One dashboard for every self-hosted GitHub Actions runner on your machine.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

4 stars

Watchers

0 watching

Forks

Latest commit

 

History

131 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RunnerDeck logo

RunnerDeck

One dashboard for every self-hosted GitHub Actions runner on your machine.

CI Release OpenSSF Scorecard License: MIT

PHP JavaScript SQLite Docker

Dashboard in use

See which runners are online, busy, or quietly dead. Tail their logs live. Start, stop, or restart them — one at a time or all together — from a button instead of a pidfile and an SSH session.

No framework, no build step, no dependencies to run it. Just PHP and a little vanilla JS.

Quick start

git clone https://github.com/AnikethTS/RunnerDeck.git && cd RunnerDeck
./run.sh                # binds 127.0.0.1:8090, no .env required

Open http://127.0.0.1:8090/, pick org or repo scope, click Start All. That's the whole setup. Machine not ready yet? Run php bin/doctor.php to check — or see Getting started for the full walkthrough, prerequisites, and platform notes (Linux/macOS native, Windows via WSL2).

Screenshots

Dashboard Live log
Dashboard overview Live log search highlighting matches
Add runner Settings
Add runner dialog Settings page

Why this exists

Self-hosted runners are cheap to run many of on one machine, but tedious to operate: is runner-7 actually alive, or did its process die three hours ago while GitHub still shows it "busy"? Which of these logs has the failure? Did that last "Start All" click actually work, or did it just pile up a second copy on top of the first? RunnerDeck exists to make those questions fast to answer, and to make starting/stopping a fleet of runners a button instead of a script incantation.

What it does

  • Checks each runner two ways — what GitHub reports, and what's actually running on this machine — and flags the two when they disagree.
  • Adds, starts, stops, renames, and deletes runners for you, checksums and all. No more downloading the runner package and running config.sh by hand.
  • Shows live CPU/RAM per runner and for the whole machine, plus a rolling history chart.
  • Can auto-restart a runner that crashes, with crash-loop protection so it doesn't retry forever.
  • Has a full JSON API behind the UI, documented in API.md, if you'd rather script it.

Curious exactly how any of that works under the hood? See How it works for the full behavior reference.

Docs

Contributors

RunnerDeck contributors

License

MIT — see LICENSE.

About

One dashboard for every self-hosted GitHub Actions runner on your machine.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

4 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages