The buildpack assumes, that all definition files are part of your code. So if you you're using the Meteor TypeScript libraries make sure to copy the definitions.
To use this with your meteor app and heroku:
Set this repository as the buildpack URL:
heroku buildpacks:set https://github.com/dominikmayer/demeteorizer-buildpack.git
If it isn't set already, be sure to set the
ROOT_URL for meteor (replace URL with whatever is appropriate):
heroku config:set ROOT_URL=https://<yourapp>.herokuapp.com
If you don't yet have a MongoDB, add the MongoLab addon:
heroku addons:create mongolab
Otherwiese, make sure to set the
heroku config:set MONGO_URL=mongodb://<your MongoDB>
Once that's done, you can deploy your app using this build pack any time by pushing to heroku:
git push heroku master
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 "extras" folder and they will get sourced into the build.
Extras included in this branch:
MONGO_URLto the value of
phantomjs.sh: Include phantomjs for use with
This buildpack creates a directory
inside the app checkout, and puts all the binaries and the built app in there.
So it ends up having the usual unixy
subdirectories. Those directories are added to
$COMPILE_DIR/bin etc are great places to put any extra binaries or stuff
if you need to in custom extras.
Meteor is under active developement, recent changes in its core broke support for certain meteor packages designed to access their own assets at first run. The issue has been reported on https://github.com/meteor/meteor/issues/2606, but it may take a while to have it fixed. In the meanwhile you can circumvent the problem by setting the following variable in your Heroku Config Vars:
Copy the snippet above into CLI.