Elixir
Detetado a partir de mix.exs. Gera uma release Mix. O Erlang e o Elixir ficam fora da imagem de execução.
Guias de deploy passo a passo: Elixir and Phoenix.
Consulte Buildpackspara ver como funcionam a deteção e a política de versões.
Deteção
mix.exs no Base directory.
Versões
A versão por omissão é o Elixir 1.20 com Erlang/OTP 28. Linhas do Elixir publicadas em setembro de 2026: 1.15-1.20. Linhas do OTP publicadas: 26-29. Recebe o patch mais recente da linha pedida.
Para fixar a versão do Elixir, por esta ordem:
- Uma entrada
elixirem.tool-versions(no formato asdf1.18.2-otp-27, é considerada a parte anterior ao hífen) .elixir-version
O requisito elixir: em mix.exs é um intervalo, não uma versão fixa. A Nodion não o usa. Um ~> 1.17 antigo continua a funcionar com uma versão por omissão mais recente.
Fixe a versão do Erlang com uma entrada erlang em .tool-versions.
Instalação e build
mix local.hex, mix local.rebar, mix deps.get --only prod. Se existir mix assets.deploy, é executado a seguir. Depois, mix release --overwrite.
A aplicação tem de estar preparada para releases Mix. A release inclui o ERTS, por isso a imagem de execução contém apenas a release.
No arranque, é definido PHX_SERVER=true para que um endpoint Phoenix arranque. Nas releases sem Phoenix, esta variável não tem qualquer efeito.
Comando de arranque
<release>/bin/<app> start, dando preferência ao nome da aplicação OTP definido em mix.exs. Pode substituí-lo num Procfile. A sua aplicação tem de escutar em PORT (o Phoenix lê PORT quando a release é gerada dessa forma).