hexpm/elixir:1.18.4-erlang-27.3.4-debian-bullseye-20250610-slim not found

Hi everyone,

I’m running into an issue when trying to deploy a Phoenix (Elixir) app to Fly.io using both fly deploy and fly deploy --local-only.

The build process fails due to the following image:

hexpm/elixir:1.18.4-erlang-27.3.4-debian-bullseye-20250610-slim

The error message is:

failed to resolve source metadata for docker.io/hexpm/elixir:1.18.4-erlang-27.3.4-debian-bullseye-20250610-slim: no match for platform in manifest: not found

This is the dockerfile code:

ARG ELIXIR_VERSION=1.18.4
ARG OTP_VERSION=27.3.4
ARG DEBIAN_VERSION=bullseye-20250610-slim

ARG BUILDER_IMAGE="hexpm/elixir:${ELIXIR_VERSION}-erlang-${OTP_VERSION}-debian-${DEBIAN_VERSION}"
ARG RUNNER_IMAGE="debian:${DEBIAN_VERSION}"

FROM ${BUILDER_IMAGE} as builder
...
FROM ${RUNNER_IMAGE}

Could someone help me?

Hi… Maybe try adding a .1 at the end (i.e., 27.3.4.1).

It looks like there was a patch released relatively recently…

I tried pulling that image into Linux:

halfer@dev:~/Development$ docker pull hexpm/elixir:1.18.4-erlang-27.3.4-debian-bullseye-20250610-slim
1.18.4-erlang-27.3.4-debian-bullseye-20250610-slim: Pulling from hexpm/elixir
no matching manifest for linux/amd64 in the manifest list entries

So the image does exist, but not for a popular arch. I think your error is essentially the same.

I did a little search for the version of Elixir you’re using and found that hexpm/elixir:1.18.4-erlang-28.0.1-alpine-3.21.3 is available for linux/amd64. Maybe give that a go? Alpine works a bit differently to Debian, but most third-party images work just as well on Alpine (and they’re faster to pull, too).

The following much closer match worked for me when pulling via skopeo:

hexpm/elixir:1.18.4-erlang-27.3.4.1-debian-bullseye-20250610-slim
                                 ^^

(Generally, you want to be careful with the OTP version (i.e., the part after erlang-). That’s a kind of runtime library—and not just +deb10u2 minutiae flourish.)


That was an interesting alternative way of approaching things, though…