A Dashboard for Agenda
- Jobs status, refresh interval is 15 seconds by default
- Search jobs by name, including autocomplete
- Filter jobs by metadata and status
- View job details
- Delete and requeue jobs
- Schedule a new job
Required version of MongoDB: >2.6.0
Agenda Admin can be used as express middleware, using the mountAgendaAdmin
function. As an argument, it takes an object with the following fields:
publicUrl
- the URL at which the frontend is servedmountPath
- the path which the middleware should be mounted (passed toapp.use()
)expressApp
- the express appagenda
- an agenda instanceoptions
- an optional argument, the object can have the following properties:itemsPerPage
username
password
const express = require('express');
const Agenda = require('agenda');
const { mountAgendaAdmin } = require('agenda-admin');
const app = express();
// Other express middleware
const agenda = new Agenda({ db: { address: 'mongodb://127.0.0.1/agendaDb' } });
mountAgendaAdmin({
publicUrl: 'http://localhost:7878/agenda-admin',
mountPath: '/',
expressApp: app,
agenda
});
app.listen(7878);
The docker container exposes port 7878
At this point, AgendaAdmin does not support port re-mapping, so the container should be connected to port 7878 only
docker run -p 7878:7878 \
--env CONNECTION_STRING=mongo://username:password@host/database \
--env COLLECTION=collection lexissolutions/agenda-admin:latest
name | description | required | default value |
---|---|---|---|
CONNECTION_STRING | MongoDB connection string | yes | |
COLLECTION | MongoDB collection of jobs | no | agendaJobs |
ITEMS_PER_PAGE | Number of jobs per page | no | 20 |
AGENDA_USERNAME | Username used for authentication (only when a password is provided) | no | admin |
AGENDA_PASSWORD | If no password is provided, no authentication will be required | no |
yarn install
Inside the api
directory create an .env.development
file with CONNECTION_STRING
and COLLECTION
variables, then run yarn dev
.
You can also run yarn start
in the api
and client
directories.
Inside the api
directory create an .env.testing
file with CONNECTION_STRING
and COLLECTION
variables, then run yarn test
.
Agenda Admin uses conventional commits format.