agenda-admin
v1.1.4
Published
A dashboard for agenda.js
Downloads
12
Maintainers
Readme
Agenda Admin
A Dashboard for Agenda
Features
- 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
Prerequisites
Required version of MongoDB: >2.6.0
Middleware usage
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
Example:
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);
Docker usage
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
Docker environment configuration
| 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 | |
Contributing
Install dependencies
yarn install
Running
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.
Running tests
Inside the api
directory create an .env.testing
file with CONNECTION_STRING
and COLLECTION
variables, then run yarn test
.
Commit messages
Agenda Admin uses conventional commits format.