Problems upgrading the Elixir version for my (phoenix) app

So, locally I have upgraded and moved to Elixir 1.17 and OTP 27. However I’m stuck when it comes to getting that running on Fly (or deploying in general right now).

When I first launched my app it generated a Dockerfile for the Elixir and Erlang versions I was on at the time which is all well and good. However I’m not finding a pleasant way to upgrade the versions for the build environment.

I tried manually changing the Elixir version to 1.17.2 and OTP to 27.0.1 but there does not appear to be a docker image that matches the tag generation logic when using those version strings.

I don’t use docker hub much personally so I’m not sure if there is a useful way to actually search but the tag filter is proving somewhat useless for finding partila matches to even get an idea of what images there might be that I could try for that version combination.

Is there an easy/clean way to get the fly tool to regenerate my Dockerfile based on the current values? Or a place to go to find out what build container and runner I should use for 1.17.2 and 27.0.1?

Hey @LeakyBucket,

I use Docker Hub with tag filtering. First, add the latest Elixir version, then Erlang, and finally choose Linux.

This link filters by the latest Elixir and Erlang versions; select your Linux distribution. The filter used is 1.17.2-erlang-27.0.1. They all follow the same format. The reason you might not find the image by setting only the newer Elixir and Erlang versions is that newer Elixir/Erlang images can be built on newer Linux versions, so the Linux version needs to be specified as well. When I’m upgrading, I filter by Elixir, then Erlang, look at the available Linux versions, and then set the image in the Dockerfile.

https://hub.docker.com/r/hexpm/elixir/tags?page_size=&ordering=&name=1.17.2-erlang-27.0.1

For my app that would be hexpm/elixir:1.17.2-erlang-27.0.1-debian-bullseye-20240904-slim as I’m using bullseye slim image

1 Like

Thanks much @Elder! Now I just need to get my JS packages installed during the build :joy:

1 Like