peptiderepo 34858a3088 feat: initial runner dashboard
Node 20 / no-framework HTTP service.
Routes: /healthz (no auth), /api/runners (proxy to GitHub), / (dashboard UI).
Dark theme, Basic Auth, 15s poll, stale-data strip, token-missing empty state.

Agent-Session: runner-dashboard-deploy-2026-06-19
2026-06-19 09:02:59 +00:00
2026-06-19 09:02:59 +00:00
2026-06-19 09:02:59 +00:00
2026-06-19 09:02:59 +00:00
2026-06-19 09:02:59 +00:00
2026-06-19 09:02:59 +00:00

runner-dashboard

Self-hosted GitHub Actions runner status dashboard for the peptide-repo org.

Setup

Set the following env vars (via Coolify or .env locally):

Var Purpose
GITHUB_RUNNERS_READ_TOKEN Fine-grained PAT: org peptide-repo, Self-hosted runners: Read-only
DASH_USER HTTP Basic Auth username
DASH_PASS HTTP Basic Auth password
PORT Port to listen on (default: 3000)

Run locally

DASH_USER=admin DASH_PASS=secret GITHUB_RUNNERS_READ_TOKEN=ghp_... node server.js

Then open http://localhost:3000 (auth required).

Health check

GET /healthz returns 200 ok — no auth, no GitHub call. Used by Coolify.

Description
No description provided
Readme 34 KiB
Languages
HTML 66.4%
JavaScript 32%
Dockerfile 1.6%