I figured, I needed to add release=true to elixir_buildpack.config so there could be a release but when I do /workspace/_build/prod/rel/apiserver/bin/apiserver remote I get the following:
I’ve had times where apps I need to run something like app/apiserver/bin/apiserver remote instead. The easiest way to verify this is to type ls and look at the folders once you’ve ssh’ed into you machine.
a tip : you can run it all in one swoop using the -C flag:
fly ssh console -a apiserver -C "app/apiserver/bin/apiserver remote"
the -a {{appname}} is optional here unless you have multiple apps.
also some stuff about the rel folder ( env.ssh.eex file, etc), which has some release files. The Legacy docs talk about that here: Legacy pre v1.6.3 Phoenix App · Fly Docs
One other thing that has helped me is to compare my project to the existing hello_elixir repo to see what is different:
When you run fly launch, it should detect that you have an Elixir app and it runs mix phx.gen.release. This creates a Dockerfile for you. It also creates a rel directory in your application source code.
This is where all the config happens for what we’re talking about here. You should have a Dockerfile and, unless it was customized, it creates a shell script called server that is executed with the app/bin/server remote command.