An ember-cli-deploy-plugin to upload an Ember App directly to a CouchDB cluster.
JavaScript HTML
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


An ember-cli-deploy plugin to upload files to CouchDB

This plugin uploads an Ember App to a CouchDB design doc. The Ember App is served directly to the browser from CouchDB, without any other software in the stack.

What is an ember-cli-deploy plugin?

A plugin is an addon that can be executed as a part of the ember-cli-deploy pipeline. A plugin will implement one or more of the ember-cli-deploy's pipeline hooks.

For more information on what plugins are and how they work, please refer to the Plugin Documentation.

Quick Start

To get up and running quickly, do the following:

$ ember install ember-cli-deploy-couchdb
  • Place the following configuration into config/deploy.js
ENV.couchdb = {
  db: 'http://localhost:5984/emberapp'

  // optionally, if you are using ember-cli-deploy-build instead of
  // ember-cli-deploy-build-plus, also include the following

  // ddocname: emberapp,
  // couchDir: 'tmp/deploy-dist',
  // distDir: 'tmp/deploy-dist/_attachments'

If you are using ember-cli-deploy-build, you will also need to add the following to your build hook = {
  outputPath: 'tmp/deploy-dist/_attachments'
  • Place the following configuration into config/environment.js where ddocname is normaly the same as modulePrefix:. ddocname can be changed in the configuration options.
if (environment === 'production') {
  ENV.rootURL = '/emberapp/_design/ddocname/_rewrite/';

If a vhost is used do the following:

if (environment === 'production') {
  ENV.rootURL = '/';
  • Run the pipeline
$ ember deploy


Run the following command in your terminal:

ember install ember-cli-deploy-couchdb

ember-cli-deploy Hooks Implemented

For detailed information on what plugin hooks are and how they work, please refer to the Plugin Documentation.

  • configure
  • willDeploy
  • didBuild
  • upload

Configuration Options

For detailed information on how configuration of plugins works, please refer to the Plugin Documentation.

db (required)

The CouchDB URL

  • 'http://localhost:5984/emberapp'
  • ''

Default: undefined


The Ember App is uploaded to the ddocname URL as _design/ddocname.



Array of regexps for files to skip upload.

Default: []


The root directory where the files will be searched for. By default, this option will use the distDir property of the deployment context, provided by ember-cli-deploy-build-plus.

Default: context.distDir


The following properties are expected to be present on the deployment context object:


You can use the issue tracker to provide feedback, suggest features or report bugs.

  • If you get Assertion failed: end <= source_len, file src\, line 280 you are using node.js v0.12 or io.js v1.3.0. These versions have a bug with Buffers. Upgrade to a newer or older version.

Running Tests

  • npm test