Generates live SVG status badges for Coolify apps.
- Badge SVGs with strict no-cache headers
- Custom label and style (Shields presets)
- Status-to-color mapping in one place
- Simple UI with copy buttons and optional login gate
npm install
npm run dev
# open http://localhost:3000/For production:
npm run build
npm start # uses PORTCreate .env.local (do not commit secrets):
COOLIFY_API_URL=https://cool.coolify.dev
API_TOKEN=your_token_here
PORT=3000
SITE_PASSWORD=change_me # protects the UI; badges remain public
/api/health→{ status: "ok" }/api/badge/:app_uuid→ SVG badge (no-cache)
Markdown example:
Query options:
?label=Textoverrides left text?style=for-the-badgeselects a Shields style?type=servicetargets services instead of applications (default tries applications, then services)
Colors/texts live in app/api/badge/status-config.ts. Default mapping:
- finished → Live →
#3fb950 - running:healthy → Live →
#3fb950 - failed → Failed →
#f85149 - in_progress → Deploying →
#2188ff - queued → Queued →
#6e7681 - no_history → No history →
#d1d5da - unauthorized → Unauthorized →
#cea61b - offline/other → Offline/raw key →
#cea61b
- Access the builder at
/(login required ifSITE_PASSWORDis set). - Configure App UUID, label, host override, badge style, and target (auto/application/service); copy URL/Markdown; preview updates live.