Simple Node.js deployment, Capistrano-style

Zaz: Simple Node.js deployment, Capistrano-style

In order to set up simple project deployment with minimum configuration/programming.

Currently, the tool conforms to the following assumptions:

  • the code is being fetched from a Git repositories, accessible from the remote servers;
  • ssh key (~/.ssh/ is being used for authentication;
  • the package.json has the following npm scripts described: start, status, stop, deploy (to use with Naught, for example);
  • some more.

sudo npm install -g zaz

Place somewhere (in your project root, for example) a file named zaz.json with the following structure:

  "stages": {
    "staging": {
      "user": "<deployer username>",
      "git": "<git repo containing the code>",
      "path": "<where to put the folder structure on your remote server>",
      "hosts": [
        "<your remote staging host 1>",
        "<your remote staging host n>"
    "production": {

zaz <stage> looks for zaz.json and performs the deployment according

  • are welcome;
  • should be tested;
  • should follow the same coding style.

Keep it simple, minimum bells and whistles, please.

The MIT License

Copyright (c) 2014 Ruslan Bredikhin