@sidequest/dashboard
Web-based monitoring and management dashboard for the Sidequest job processing system.
Summary
This package provides a beautiful, responsive web dashboard for monitoring and managing your Sidequest job queues. Built with Express.js, EJS templating, and HTMX for dynamic interactions, the dashboard offers real-time insights into your job processing system without requiring external dependencies or complex setup.
The dashboard includes:
- Real-time Job Statistics - Live counters and charts showing job states and performance
- Job Management - View, filter, search, retry, and cancel jobs
- Queue Operations - Monitor queue status, pause/resume processing, and manage priorities
- Performance Analytics - Charts and metrics for job throughput and processing times
- Responsive Design - Modern, mobile-friendly interface using DaisyUI and TailwindCSS
- Optional Authentication - Basic auth protection for production deployments
- HTMX Integration - Dynamic updates without full page reloads
The dashboard is designed to work seamlessly with all Sidequest backends (PostgreSQL, MySQL, SQLite, MongoDB) and automatically connects to your existing job queue infrastructure.
Documentation
For complete setup instructions, configuration options, and usage guides, visit:
https://docs.sidequestjs.com/dashboard
The documentation covers:
- Getting Started - Quick setup and first run
- Configuration Options - Backend setup, authentication, and customization
- Feature Overview - Detailed walkthrough of all dashboard features
- Production Deployment - Security considerations and deployment best practices
- Troubleshooting - Common issues and solutions
- API Reference - Integration options and programmatic access
Quick Start
The dashboard is available through the Sidequest regular configuration and is started alongside the Sidequest engine:
import { Sidequest } from "sidequest";
await Sidequest.start({
backend: {
driver: "@sidequest/postgres-backend",
config: "postgresql://localhost:5432/sidequest",
},
dashboard: {
enabled: true,
port: 8678,
auth: {
user: "admin",
password: "secure-password",
},
},
queues: [{ name: "default", priority: 10, workers: 2 }],
});
If you prefer to use only the dashboard without starting the Sidequest engine, you can do so by importing and configuring it directly:
import { SidequestDashboard } from "@sidequest/dashboard";
const dashboard = new SidequestDashboard();
await dashboard.start({
enabled: true,
port: 8678,
backendConfig: {
driver: "@sidequest/postgres-backend",
config: "postgresql://localhost:5432/sidequest",
},
auth: {
user: "admin",
password: "secure-password",
},
});
License
LGPL-3.0-or-later