Buildpack

Fai il commit del codice. Nodion rileva il linguaggio, installa un runtime e crea un'immagine.

In Applications → New collega un repository Gite scegli Buildpacks. Nodion usa il builder predefinito, a meno che tu non ne scelga un altro. In un monorepo, fai puntare Base directory alla cartella dell'app.

Usa invece un Dockerfilese ne hai già uno, o se il repository non è in un linguaggio supportato.

Cosa sono

I Nodion Buildpacks sono Cloud Native Buildpacks. Le fasi di rilevamento, build e avvio seguono questa specifica. I pacchetti dei linguaggi, lo stack Ubuntu e le versioni dei runtime sono di Nodion. Non sono buildpack di Paketo, Heroku o Google.

Lo stack attuale è nodion-26: Ubuntu 26.04 LTS. L'immagine di build contiene compilatori e header. L'immagine di runtime contiene le librerie client più comuni (Postgres, MySQL, ImageMagick, certificati CA e simili). Il processo gira come utente non root. I pacchetti di sistema aggiuntivi vanno in un Aptfile o in project.toml.

Cosa fa una build

  1. Guarda i file nella base directory e sceglie il primo gruppo di linguaggi che corrisponde.
  2. Risolve un runtime a partire dalla versione che hai fissato (o da quella predefinita), poi installa quella versione.
  3. Installa le dipendenze dal lockfile o dal manifest.
  4. Esegue la build del linguaggio (asset, mix release, go build e così via).
  5. Imposta un processo web predefinito. Un Procfile lo sovrascrive.

Metti l'app in ascolto su PORT: la variabile la imposta Nodion. La maggior parte dei comandi predefiniti ripiega su 8080 se non è impostata.

Rilevamento

I gruppi vengono provati dall'alto. Vince il primo gruppo i cui file richiesti sono tutti presenti. I pacchetti Debian aggiuntivi sono opzionali in ogni gruppo.

Se il repo contiene Nodion usa
package.json e un frontend statico Node.js, poi static
composer.json e package.json PHP più Node (per esempio Laravel con Vite)
Gemfile e package.json Ruby più 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 file Gradle Java
*.csproj, *.fsproj o *.sln .NET
solo package.json (un'app server) Node.js
static.toml e nessun package.json Sito statico
solo Procfile I tuoi tipi di processo, nessuna installazione del linguaggio

La scansione nella dashboard ti avvisa quando non trova nessun file indicativo di un linguaggio supportato. Puoi comunque scegliere Buildpacks, passare a un Dockerfile o impostare una base directory diversa.

Versioni supportate

Nodion supporta ogni serie di versioni di un linguaggio fino al termine del supporto e per un massimo di tre mesi dopo. Se richiedi una versione minor, ottieni l'ultima patch pubblicata per quella versione. Se richiedi una versione precedente alla serie pubblicata più vecchia, la build fallisce perché è fuori supporto. Se ne richiedi una più recente di quelle già disponibili, fallisce perché non è ancora disponibile.

Go e Rust sono l'eccezione: la build dell'app usa la toolchain pubblicata più recente. Valori più vecchi in go.mod o rust-version compilano comunque.

Le versioni qui sotto sono aggiornate a settembre 2026. Le patch cambiano man mano che le pubblichiamo. Se vuoi scegliere la versione minor, fissala in un file come indicato nella pagina del linguaggio.

Linguaggio Predefinita Versioni pubblicate
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 più recente (attualmente 1.25-1.27)
Rust 1.96 Toolchain più recente (attualmente 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, predefinita 28)

Procfile

Un Procfile nella Base directory definisce i tipi di processo. Il predefinito è web, se presente, altrimenti la prima riga. I valori predefiniti del linguaggio valgono solo se non c'è un Procfile.

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

Ogni tipo di processo è un processo a sé dell'app. Nella scheda Processes scali le repliche e imposti il comando.

Pacchetti Debian aggiuntivi

Usa preferibilmente project.toml. Un Aptfile (un pacchetto o un URL .deb per riga) funziona ancora. Se esistono entrambi, vince project.toml.

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

I pacchetti vengono estratti nell'immagine. Gli script del maintainer non vengono eseguiti, quindi i pacchetti che creano utenti di sistema o avviano servizi non funzionano. Un URL diretto https://…/*.deb viene scaricato così com'è, senza risoluzione delle dipendenze.

Dai al tuo agente un cloud tutto suo.

Fino a 15 € di credito quando ti registri.

Continua con GitHub

oppure con l'email

Resta aggiornato.

Novità sul prodotto, niente spam. Puoi annullare l'iscrizione quando vuoi.