Elixir
Gedetecteerd via mix.exs. Bouwt een Mix-release. Erlang en Elixir blijven buiten de run-image.
Stapsgewijze deployhandleidingen: Elixir and Phoenix.
Zie Buildpacksvoor hoe detectie en het versiebeleid werken.
Detectie
mix.exs in de Base directory.
Versies
Standaard is Elixir 1.20 op Erlang/OTP 28. Gepubliceerde Elixir-versielijnen per september 2026: 1.15-1.20. Gepubliceerde OTP-lijnen: 26-29. Je krijgt de nieuwste patchversie binnen de gevraagde lijn.
Zet Elixir vast met, in deze volgorde:
- Een
elixir-regel in.tool-versions(bij de asdf-notatie1.18.2-otp-27telt het deel vóór het koppelteken) .elixir-version
De versie-eis elixir: in mix.exs geeft een versiebereik aan en zet geen versie vast. Nodion gebruikt die niet. Een oude ~> 1.17 draait nog gewoon op een nieuwere standaardversie.
Zet Erlang vast met een erlang-regel in .tool-versions.
Installatie en build
mix local.hex, mix local.rebar, mix deps.get --only prod. Bestaat mix assets.deploy, dan draait dat daarna. Vervolgens mix release --overwrite.
Je app moet zijn ingesteld voor Mix-releases. De release bevat ERTS. De run-image bevat daarom alleen de release.
Bij het starten wordt PHX_SERVER=true gezet, zodat een Phoenix-endpoint start. Bij releases zonder Phoenix kan dat geen kwaad.
Startcommando
<release>/bin/<app> start, bij voorkeur met de OTP-appnaam uit mix.exs. Je kunt dit overschrijven met een Procfile. Je app moet luisteren op PORT (Phoenix leest PORT als de release zo is gegenereerd).