Git Product home page Git Product logo

agenda-admin's Introduction

Agenda Admin

logo

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 served
  • mountPath - the path which the middleware should be mounted (passed to app.use())
  • expressApp - the express app
  • agenda - an agenda instance
  • options - 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.

agenda-admin's People

Contributors

bmestanov avatar fanste8 avatar skairail avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.