You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We should do that by default, and also ensure that they're overridable once deployed.
Buildpack requires (or will soon require) as config file
IMPORTANT: The default elixir_version will be removed on 2021-06-01. Please explicitly set an elixir_version in your elixir_buildpack.config before then or your deploys will fail.
I had to create elixir_buildpack.config and add elixir_version=1.7 to it. Many of our users won't have the buildpack configured, we should be able to detect Elixir version from mix.exs, since that can specify required version.
We should either write a basic elixir_buildpack.config if the file doesn't already exist, inject one at build time, or fork the buildpack and add support for environment variable based settings.
Elixir and Erlang releases need to match
If we do detect Elixir version, we also need to find an appropriate OTP version to set. These are documented, and the buildpack uses a hardcoded list of available OTP versions.
Ecto in Phoenix does not enable IPv6
The good news is there's a PR for future Phoenix versions that solves this. The bad news is that existing Phoenix apps don't include the Repo setting.
We should detect this and fix it if we can, or at least make a bunch of noise about what the user needs to do if we can't. It's relatively simple to add, and while it might dirty up flyctl a little bit, I think it's worth making magical.
The text was updated successfully, but these errors were encountered:
These are just notes on problems with
fly launch
on Elixir apps. They're mostly gaps in the buildpack: https://github.com/HashNuke/heroku-buildpack-elixirWe can fix these things in
flyctl
and/or fork the buildpack to make it match what we're doing.Build needs env vars
The Elixir buildpack doesn't default any environment variables, so it won't build properly from scratch. I've worked around it by setting this:
We should do that by default, and also ensure that they're overridable once deployed.
Buildpack requires (or will soon require) as config file
I had to create
elixir_buildpack.config
and addelixir_version=1.7
to it. Many of our users won't have the buildpack configured, we should be able to detect Elixir version frommix.exs
, since that can specify required version.We should either write a basic
elixir_buildpack.config
if the file doesn't already exist, inject one at build time, or fork the buildpack and add support for environment variable based settings.Elixir and Erlang releases need to match
If we do detect Elixir version, we also need to find an appropriate OTP version to set. These are documented, and the buildpack uses a hardcoded list of available OTP versions.
Ecto in Phoenix does not enable IPv6
The good news is there's a PR for future Phoenix versions that solves this. The bad news is that existing Phoenix apps don't include the Repo setting.
We should detect this and fix it if we can, or at least make a bunch of noise about what the user needs to do if we can't. It's relatively simple to add, and while it might dirty up
flyctl
a little bit, I think it's worth making magical.The text was updated successfully, but these errors were encountered: