I’m trying to deploy this Julia HTTP api that simulates a coil gun using DiffEQ: https://github.com/laurium-labs/coilgunui
It’s just a couple endpoints to get params and run the simulation. I’d like it to run through HTTPS.
Heroku is awesome for getting an HTTPS endpoint in seconds instead of hours so I always try that first.
There is a Julia Buildpack for Heroku but that failed to build: https://github.com/Optomatica/heroku-buildpack-julia/issues/6
So next I tried using PackageCompiler inside Docker to deploy. I tried all 4 combinations:
-
precompile_statements_file
built locally and upload image to Heroku. Fails with “target not found in system image” -
precompile_statements_file
building remotely (on Heroku servers) fails with “pipeline_error at ./process.jl:525” -
precompile_execution_file
built locally fails with “target not found in system image” -
precompile_execution_file
built remotely fails with “pipeline_error at ./process.jl:525”
When I run with the system image locally, it boots immediately, seems to work awesome.
If you wanted to reproduce, just run docker build .
in the root of the repo and then
heroku create
heroku stack:set container -a HEROKU_APP_NAME
heroku container:push web
heroku container:release web
It would be awesome if I could figure out a faster way for setting up non-trivial Julia behind an HTTPS api in minutes, instead of hours, which is what I did last time i was faced with this: Deploying Julia. You’ve got something running in Julia… | by Mark Halonen | Medium
Thanks in advance!