Heroku

Edit this Page   

Heroku

Setup

You need a Heroku account and have the Heroku Toolbelt installed.

Create an app on Heroku and give it a name (e.g. myapp) :

heroku apps:create myapp

You can also use Heroku dashboard to create an app.

If you're using mongoDB you will need to add a database to your app (e.g. mlab or compose): Here we use mlab:

heroku addons:create mongolab

Now, build your app by running:

gulp build

This creates a folder called dist.

Now go to dist and set it up as a git repository:

git init

Add Heroku's app as your dist folder's remote repository:

heroku git:remote -a myapp

It is time to push your local repository to Heroku. From your app's root run:

gulp buildcontrol:heroku

Your app should be live now. To view your app run:

heroku open

Note on MongoDB setup: if you get an Error: No valid replicaset instance servers found you need to modify moongose connection options in config/environment/production.js as follows:

options: {
  db: {
    safe: true,
    replset: { socketOptions: { keepAlive: 1, connectTimeoutMS: 30000 } },
    server: { socketOptions: { keepAlive: 1, connectTimeoutMS: 30000 } }
  }
}

One of the odd things about the Node driver is that the default timeout for replica set connections is only 1 second, so make sure you're setting it to something more like 30s like in this example.

>

If you're using any oAuth strategies, you must set environment variables for your selected oAuth. For example, if we're using Facebook oAuth we would do this :

heroku config:set FACEBOOK_ID=id
heroku config:set FACEBOOK_SECRET=secret

You will also need to set DOMAIN environment variable:

heroku config:set DOMAIN=<your-heroku-app-name>.herokuapp.com
# or (if you're using it):
heroku config:set DOMAIN=<your-custom-domain>

Pushing Updates

gulp build

Commit and push the resulting build, located in your dist folder:

gulp buildcontrol:heroku

Contributors