Elixir

Se detecta por mix.exs. Construye una release de Mix. Erlang y Elixir no se incluyen en la imagen de runtime.

Guías de despliegue paso a paso: Elixir and Phoenix.

Consulta Buildpackspara ver cómo funcionan la detección y la política de versiones.

Detección

mix.exs en el directorio base.

Versiones

La versión por defecto es Elixir 1.20 sobre Erlang/OTP 28. Ramas de Elixir publicadas a septiembre de 2026: 1.15-1.20. Ramas de OTP publicadas: 26-29. Recibes el último parche de la rama solicitada.

Para fijar la versión de Elixir, se consultan estas fuentes en este orden:

  • Una entrada elixir en .tool-versions (con el estilo asdf 1.18.2-otp-27 se usa la parte anterior al guion)
  • .elixir-version

El requisito elixir: de mix.exs es un rango, no una versión fijada. Nodion no lo usa. Un ~> 1.17 antiguo sigue funcionando con una versión por defecto más reciente.

Para fijar la versión de Erlang, usa una entrada erlang en .tool-versions.

Instalación y build

mix local.hex, mix local.rebar, mix deps.get --only prod. Si existe mix assets.deploy, se ejecuta a continuación. Después, mix release --overwrite.

La app tiene que estar preparada para releases de Mix. La release incluye ERTS, así que la imagen de runtime contiene solo la release.

Al arrancar se define PHX_SERVER=true para que se inicie un endpoint de Phoenix. En las releases que no son de Phoenix no tiene ningún efecto.

Comando de inicio

<release>/bin/<app> start, con preferencia por el nombre de la app OTP de mix.exs. Puedes sobrescribirlo con un Procfile. Tu app debe escuchar en PORT (Phoenix lee PORT si la release se ha generado así).

Dale a tu agente un cloud.

Hasta 15 € de crédito al registrarte.

Continuar con GitHub

o con tu email

Mantente al día.

Novedades del producto, sin spam. Puedes darte de baja cuando quieras.