AdmitHub / meteor-buildpack-horse

Heroku buildpack for Meteor v1.0+. The horse one.
MIT License
641 stars 586 forks source link

Meteor Buildpack Horse

Horse

A heroku buildpack for Meteor v1+, designed to be as simple and readable as possible.

To use this with your meteor app and heroku:

  1. Set up your app to deploy to heroku with git.

  2. Set your buildpack to the latest version from the registry:

    heroku buildpacks:set admithub/meteor-horse
  3. Add the MongoLab addon:

    heroku addons:create mongolab
  4. Set the ROOT_URL environment variable. This is required for bundling and running the app. Either define it explicitly, or enable the Dyno Metadata labs addon to default to https://<appname>.herokuapp.com.

    heroku config:set ROOT_URL="https://<appname>.herokuapp.com" # or other URL

Once that's done, you can deploy your app using this build pack any time by pushing to heroku:

git push heroku master

Environment

The following are some important environment variables for bundling and running your meteor app on heroku. Depending on your settings, you may need to override these on heroku. See heroku's documentation for how to set these.

Extras

The basic buildpack should function correctly for any normal-ish meteor app, with or without npm-container. For extra steps needed for your particular build, just add shell scripts to the extra folder and they will get sourced into the build.

Extras included in this branch:

Where things go

This buildpack creates a directory .meteor/heroku_build ($COMPILE_DIR) inside the app checkout, and puts all the binaries and the built app in there. So it ends up having the usual unixy bin/, lib/, share etc subdirectories. Those directories are added to $PATH and $LD_LIBRARY_PATH appropriately.

So $COMPILE_DIR/bin etc are great places to put any extra binaries or stuff if you need to in custom extras.

Using the latest buildpack code

The admithub/meteor-horse buildpack from the Heroku Registry contains the latest stable version of the buildpack. If you'd like to use the latest buildpack code from this Github repository, you can set your buildpack to the Github URL:

    heroku buildpacks:set https://github.com/AdmitHub/meteor-buildpack-horse

Tips & Tricks

Please help us add tips and tricks to the wiki for further help, like usage with Dokku or other environments.

Why horse?

There are a gazillian forks and branches of various buildpacks remixing the words "heroku", "buildpack", and "meteor", many of which are abandoned or outdated or broken, and it's really hard to keep them straight.

So this one is the horse one.

README image credit: wikicommons contributor Arsdelicata