Public | Automated Build

Last pushed: 2 years ago
Short Description
David helps keep your Node.js project dependencies up to date.
Full Description

<p align="center"><a href=""><img src="" alt="David" height="50" /></a></p>

<p align="center">
<a href=""><img src="" alt="Build Status"></a>
<a href=""><img src="" alt="Dependency Status"></a>
<a href=""><img src="" alt="devDependency Status"></a>
<a href=""><img src="" alt="Donate to help support David development"></a>

Node.js based web service that tells you when your project npm dependencies are out of date.
To use David, your project must include a package.json
file in the root of your repository.

Getting Started

With Node.js and Grunt installed already,
do the following:

  • Install david-www:

      cd /path/to/david-www
      npm install
      npm run build
  • Create a .davidrc file (see Configuration section below)

  • Run david-www:

      npm start

Example usage

View a web page of all dependencies (and their updates, and their versions)
for public GitHub repository "grunt-jsio" owned by "alanshaw":

curl http://localhost:1337/alanshaw/grunt-jsio

Get the current build status badge:

curl http://localhost:1337/alanshaw/grunt-jsio.png


Configuration is handled by rc (, see config.js for default configuration values.

For basic configuration, add a .davidrc file in the local directory (it is git ignored) and you can use JSON to override any of the default values.

Register a github personal oauth token and add it to the config:

  "github": {
    "token": "some_github_token"

You can also use environment variables e.g.

  • (Optional) If you want to use "sign in" feature you should:
    • Register a github developer application and add oauth client id and secret to .davidrc.
    • Developer application should have callback URL: http://localhost:1337/auth/callback

Docker Support

This example will run david-www interactively and will exit and destroy the container upon a control-c.

docker run -it --rm \
  -p 11337:1337 \
  -e david_github__token=github-token \
  -e david_site__hostname=http://localhost:11337 \
  -v /data/david:/opt/data \

This example will run it in detached mode.

docker run -d --name="david-www" \
  --restart=always \
  -p 11337:1337 \
  -e david_github__token=github-token \
  -e david_site__hostname=http://localhost:11337 \
  -v /data/david:/opt/data \


docker build -t david .

Docker Pull Command
Source Repository