Using the dpd command line tool #

Commands #

dpd #

Start Deployd the current project in development mode with an interactive shell/repl for interacting with the running server.

dpd create [name] #

Create a Deployd project in a new directory with the given name.

dpd showkey #

Print the app's key for use in a remote dashboard or for making remote authenticated / administrative requests.

dpd keygen #

Generate a new key for remote access / administration.

dpd remote #

Open up the remote dashboard in your browser.

Help #

Here is the help output of dpd -h:

Usage: dpd [options] [command]


  create [project-name]
      create a project in a new directory
      eg. `dpd create my-app`

      generate a key for remote access (./.dpd/keys.json)

      shows current key for connecting to remote dashboard (./.dpd/keys.json)

      open the remote dashboard in your browser

      [default] start the server in the current project in development mode
      with an interactive shell/repl for interacting with the running server
      e.g. dpd (starts server in current directory),
           dpd my-app/app.dpd (starts app from file)


  -h, --help                   output usage information
  -V, --version                output the version number
  -m, --mongod [path]          path to mongod executable (defaults to `mongod`)
  -p, --port [port]            port to host server (defaults to 2403)
  -w, --wait                   wait for input before exiting
  -d, --dashboard              start the dashboard immediately
  -o, --open                   open in a browser
  -e, --environment [env]      defaults to development
  -H, --host [host]            specify host for mongo server
  -P, --mongoPort [mongoPort]  mongodb port to connect to
  -n, --dbname [dbname]        name of the mongo database
  -a, --auth                   prompts for mongo server credentials

Debugging #

Deployd uses debug to log requests and show other internal debug info. To activate it you need to set the DEBUG env variable to *, for example:

$ DEBUG=* dpd

The Public Directory #

Deployd serves static files from your app's /public directory. This directory is created when you run dpd create. These files will be served with the appropriate cache headers (Last-Modified and Etag) so browsers will cache them.

If available, Deployd will serve index.html as the default file in a folder.

Environments #

When Deployd is run with the environment setting (see the documentation on the cli), it will attempt to serve files from the /public-[environment] directory instead. For example, if Deployd is run with dpd -e production, it will serve files from the /public-production directory.

This is useful for optimizing your app in production. You can serve a slightly different version of your front-end with minified JavaScript and CSS. You can also use it to serve compiled versions of pre-processed languages such as LESS, SASS, and CoffeeScript.

If the environment-specific public directory does not exist, it will serve from the standard /public directory.

Using Source Control with Deployd #

Deployd projects are designed to be committed to version control systems so teams can easily manage the source of their applications.

Recommended Ignored Files #

You shouldn't commit the /data or .dpd directories. The files in these directories are environment specific and should be kept out of version control. All other Deployd files should be committed.