This is a Heroku buildpack for Elixir apps. It uses Mix.
$ heroku config:add BUILDPACK_URL="https://github.com/goshakkk/heroku-buildpack-elixir.git" -a YOUR_APP
$ heroku create --buildpack "https://github.com/goshakkk/heroku-buildpack-elixir.git"
The Erlang/OTP release version that will be used to build and run your
application is now sourced from a dotfile called
needs to be the branch or tag name from the http://github.com/erlang/otp
repository, and further, needs to be one of the versions that precompiled
binaries are available for.
Currently supported OTP versions:
- master (R15B02 pre)
- master-pu (R16B pre)
To select the version for your app:
$ echo OTP_R15B02 > .preferred_otp_version $ git commit "Select R15B02 as preferred OTP version" .preferred_otp_version
If no version is explicitly specified,
master will be used.
The application will be compiled and run using Elixir master (v0.7.0.dev at the time) and Mix.
You can specify custom branch or tag name from the
https://github.com/elixir-lang/elixir repository in the
Heroku needs a Procfile in order to run your application. Create a Procfile with a
web process defined:
$ echo 'web: mix server -p $PORT' > Procfile
The buildpack sets
MIX_ENV=prod so you don't have to.
Important Note: Single quotes are important here.
$PORT is an environment variable supplied by Heroku. If you use double quotes
in the above
echo call, your local shell will try to interpolate the contents, and you'll end up with
-p and not
heroku-elixir-buildpack supports only applications which use
Mix to manage
$ git push heroku master
You may need to write a new commit and push if your code was already up to date.