heroku-buildpack-julia

by Optomatica

GitHub Readme.md

heroku-buildpack-julia

This is a Heroku buildpack for Julia apps.

JuliCon 2019 Presentation Video

Example project that uses this buildpack with Mux.jl.

In order to use this buildpack simply use a project containing Project.toml & a Manifest.toml. Instead of a Manifest, you can also use Compat entries and CompatHelper. The buildpack will install all the project dependencies in build time.

You can also specify Julia version you want to use in Project.toml or use the buildpack default version.

To run the server for your project you can define a Procfile containing something like

web: julia --project src/app.jl $PORT

in line with the example project. Alternatively, you can use a server from HTTP.jl:

web: julia --project -e 'using Foo; Foo.serve("0.0.0.0", $PORT)'

where Foo is the name of your project and serve is a method which passes the host and port::Int to HTTP.serve.

Note that it it important for your app to receive the port number correctly and quickly bind to it. Otherwise, Heroku will not deploy your app.