Buildpacks

Haz commit de tu código. Nodion detecta el lenguaje, instala un runtime y construye una imagen.

En Applications → New, conecta un repositorio Gity elige Buildpacks. Nodion usa el builder por defecto, salvo que elijas otro. En un monorepo, apunta Base directory a la carpeta de la app.

Usa un Dockerfileen su lugar si ya tienes uno, o si el repo no corresponde a un lenguaje compatible.

Qué son

Los Nodion Buildpacks son Cloud Native Buildpacks. Las fases de detección, build y arranque siguen esa especificación. Los paquetes de lenguaje, el stack de Ubuntu y las versiones de runtime son de Nodion. No son buildpacks de Paketo, Heroku ni Google.

El stack actual es nodion-26: Ubuntu 26.04 LTS. La imagen de build incluye compiladores y archivos de cabecera. La imagen de runtime incluye las bibliotecas cliente habituales (Postgres, MySQL, ImageMagick, certificados de CA y similares). El proceso se ejecuta con un usuario no root. Los paquetes de sistema adicionales van en un Aptfile o en project.toml.

Qué hace una build

  1. Revisa los archivos del directorio base y elige el primer grupo de lenguaje que coincide.
  2. Resuelve un runtime a partir de la versión que hayas fijado (o de la versión por defecto) e instala esa versión.
  3. Instala las dependencias desde el lockfile o el manifiesto.
  4. Ejecuta la build del lenguaje (assets, mix release, go build, etc.).
  5. Define un proceso web por defecto. Un Procfile lo sobrescribe.

Haz que tu app escuche en PORT; Nodion define esa variable. La mayoría de los comandos por defecto usan el 8080 si no está definida.

Detección

Los grupos se prueban de arriba abajo. Gana el primer grupo cuyos archivos obligatorios están todos presentes. Los paquetes Debian adicionales son opcionales en todos los grupos.

Si el repo contiene Nodion usa
package.json y un frontend estático Node.js, después static
composer.json y package.json PHP más Node (Laravel con Vite, por ejemplo)
Gemfile y package.json Ruby más Node (Rails con JS)
composer.json PHP
Gemfile Ruby
requirements.txt, Pipfile o pyproject.toml Python
go.mod Go
Cargo.toml Rust
mix.exs Elixir
pom.xml o archivos de Gradle Java
*.csproj, *.fsproj o *.sln .NET
solo package.json (una app de servidor) Node.js
static.toml y ningún package.json Sitio estático
solo Procfile Tus tipos de proceso, sin instalar ningún lenguaje

El análisis del dashboard te avisa cuando no encuentra ningún archivo de un lenguaje compatible. Aun así, puedes elegir Buildpacks, cambiar a un Dockerfile o definir otro directorio base.

Versiones compatibles

Nodion mantiene una serie de versiones de un lenguaje mientras tenga soporte y durante un máximo de tres meses tras el fin de este. Si pides una versión minor, obtienes el último patch publicado de esa minor. Una versión anterior a la serie publicada más antigua falla por estar fuera de soporte. Una versión más nueva que cualquiera de las ya construidas falla porque aún no está disponible.

Go y Rust son la excepción: la app se compila con la toolchain publicada más reciente. Los valores más antiguos en go.mod o rust-version siguen compilando.

Las series de abajo están vigentes a septiembre de 2026. Las versiones de parche cambian a medida que las publicamos. Si te importa qué minor obtienes, fíjala en un archivo como se indica en la página del lenguaje.

Lenguaje Por defecto Series publicadas
Node.js 24 22, 24, 25, 26
Python 3.13 3.10-3.14
PHP 8.3 8.2-8.5
Ruby 3.4 3.3, 3.4, 4.0
Go 1.26 Toolchain más reciente (actualmente 1.25-1.27)
Rust 1.96 Toolchain más reciente (actualmente 1.95-1.98)
Java 21 11, 17, 21, 25, 26
.NET 10 8, 9, 10
Elixir 1.20 1.15-1.20 (Erlang/OTP 26-29, por defecto 28)

Procfile

Un Procfile en el directorio base define los tipos de proceso. web es el proceso por defecto si existe; si no, lo es la primera línea. Los valores por defecto del lenguaje solo se aplican cuando no hay Procfile.

web: gunicorn myapp.wsgi --bind 0.0.0.0:$PORT
worker: python worker.py

Cada tipo es un proceso propio de la app. Escala las réplicas y define el comando en la pestaña Processes.

Paquetes Debian adicionales

Usa preferentemente project.toml. Un Aptfile (un paquete o una URL .deb por línea) sigue funcionando. Si existen ambos, gana project.toml.

[com.nodion.buildpacks.deb-packages]
install = ["ffmpeg", "pandoc"]

Los paquetes se extraen en la imagen. Los scripts de mantenimiento no se ejecutan, así que los paquetes que crean usuarios del sistema o arrancan servicios no funcionarán. Una URL directa https://…/*.deb se descarga tal cual, sin resolución de dependencias.

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.