Admin dashboard and debugging console for monitoring, managing and analyzing pg-boss job queues
npm install pg-boss-admin-dashboard

A comprehensive admin dashboard, debugging console, and monitoring tool for pg-boss job queues. Monitor job health, debug failed jobs, analyze performance metrics, and manage your background job processing with a powerful web-based interface.
!pg-boss-admin-dashboard Screenshot
- š Real-time Monitoring - Auto-refreshing queue statistics and job data
- š Visual Analytics - Interactive charts showing job processing trends over time
- š Advanced Search - Filter jobs by state, date range, or JMESPath queries
- š¼ Job Management - View detailed job information and metadata
- šØ Modern UI - Clean, responsive design with dark theme support
- ā” Fast & Lightweight - Minimal dependencies, optimized performance
- š Easy Integration - Simple CLI installation, works with existing pg-boss setups
- š Debugging Tools - Inspect failed jobs, view error messages, and analyze job data
- š Performance Metrics - Track job processing times, success rates, and queue throughput
- š§ Admin Controls - Manage queues and job states (retry/cancel placeholders for safety)
``bash`
npm install -g pg-boss-admin-dashboard
`bash`
npm install pg-boss-admin-dashboard
1. Ensure you have a PostgreSQL database with pg-boss initialized
2. Set your database connection string:
`bash`
export PGBOSS_DATABASE_URL="postgres://user:password@localhost:5432/your_db"
.env
Or create a file:`
env`
PGBOSS_DATABASE_URL=postgres://user:password@localhost:5432/your_db
`
3. Start the dashboard:
bash`
pg-boss-admin-dashboard
The dashboard will automatically open at http://localhost:8671
`bash
pg-boss-admin-dashboard [options]
Options:
--port=
--no-browser Don't automatically open browser
-h, --help Show help message
Examples:
pg-boss-admin-dashboard # Start on default port
pg-boss-admin-dashboard --port=3000 # Start on custom port
pg-boss-admin-dashboard --no-browser # Start without opening browser
`
| Variable | Required | Default | Description |
|----------|----------|---------|-------------|
| PGBOSS_DATABASE_URL | ā
Yes | - | PostgreSQL connection string |PGBOSS_DASHBOARD_PORT
| | No | 8671 | Dashboard server port |PGBOSS_NO_BROWSER
| | No | false | Disable auto-opening browser |
1. Command-line arguments (highest priority)
2. Environment variables
3. .env file in current directory.env
4. file in package directory
5. Default values (lowest priority)
prefix$3
`bash
jq:data.userId == "123" # Find jobs for specific user
jq:data.amount > "100" # Find high-value jobs
jq:contains(data.tags, "urgent") # Find urgent jobs
`$3
- Complete job metadata display
- JSON data viewer with syntax highlighting
- Timing information and retry details
- Click-to-filter functionalityš Security Considerations
- Never expose the dashboard to the public internet without authentication
- Use read-only database credentials when possible
- Consider using SSH tunnels for remote connections
- Implement authentication middleware for production deployments
$3
`javascript
// Add authentication middleware before starting dashboard
const authMiddleware = (req, res, next) => {
// Your authentication logic here
next();
};// Use with Express app
app.use('/dashboard', authMiddleware, pgBossDashboard);
`š ļø Development
$3
- Node.js 14+
- PostgreSQL with pg-boss installed
- npm or yarn$3
`bash
Clone repository
git clone https://github.com/lpetrov/pg-boss-admin-dashboard.git
cd pg-boss-admin-dashboardInstall dependencies
npm installSet up environment
cp .env.example .env
Edit .env with your database connection
Run in development mode
npm run dev
`$3
`
pg-boss-admin-dashboard/
āāā bin/ # CLI executable
ā āāā pg-boss-admin-dashboard.js
āāā public/ # Frontend static files
ā āāā index.html # Main HTML
ā āāā app.js # Application logic
ā āāā styles.css # Styling
āāā client/ # React version (in development)
āāā index.js # Express server
āāā package.json # Package configuration
āāā README.md # Documentation
`š¤ Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
1. Fork the repository
2. Create your feature branch (
git checkout -b feature/AmazingFeature)
3. Commit your changes (git commit -m 'Add some AmazingFeature')
4. Push to the branch (git push origin feature/AmazingFeature`)- Follow existing code style
- Add tests for new features
- Update documentation as needed
- Ensure backward compatibility
This project is licensed under the MIT License - see the LICENSE file for details.
- pg-boss - The job queue this dashboard monitors
- Express.js - Web framework
- Chart.js - Charting library
- JMESPath - JSON query language
- š¬ Issues: GitHub Issues
- š Wiki: GitHub Wiki
---
Made with ā¤ļø by the pg-boss community