Private Repos

Got private NPM or Bower GitHub repos? Configure a GIT_SSH_KEY so that Heroku can access these packages:

heroku config:set GIT_SSH_KEY=<base64-encoded-private-key>

If present, the buildpack expects the base64 encoded contents of a private key whose public key counterpart has been registered with GitHub on an account with access to any private repositories needed by the application. Prior to executing npm install and bower install it decodes the contents into a file, launches ssh-agent and registers that keyfile. Once NPM install is finished, it cleans up the environment and file system of the key contents.

Private NPM dependency URLs must be in the form of git+ssh://git@github.com:[user]/[repo].git. Private Bower dependency URLs must be in the form of git@github.com:[user]/[repo].git. Either NPM or Bower URLs may have a trailing #semver.

Custom Nginx

Need to make a custom nginx configuration change? No problem. In your Ember CLI application, add a config/nginx.conf.erb file. You can copy the existing configuration file in this repo and make your changes to it.

Caching

The Ember CLI buildpack caches your npm and bower dependencies by default. This is similar to the Heroku Buildpack for Node.js. This makes typical deployments much faster. Note that dependencies like components/ember#canary will not be updated on each deploy.