Node.js

Node.js è un runtime JavaScript server-side che permette di eseguire applicazioni JavaScript al di fuori del browser. In Kuboide, Node.js è configurato con NVM per la gestione delle versioni e NPM per i pacchetti.

Cos'è Node.js in Kuboide

Il servizio Node.js include:

  • Node.js: Runtime JavaScript V8
  • NVM: Node Version Manager per gestire più versioni
  • NPM: Node Package Manager per le dipendenze

Configurazione Base

Campo Descrizione
Enabled Attiva o disabilita il runtime Node.js

Configurazione Versioni

Campo Descrizione
NVM Version Versione di NVM da installare
Node.js Version Versione di Node.js (18, 20, 21, 22)
NPM Version Versione di NPM da utilizzare

Configurazione Dominio

Campo Descrizione
Domain Dominio per applicazioni Node.js standalone (senza Nginx)

Nota: Se configurato, Traefik instraderà il traffico direttamente a Node.js, bypassando Nginx. Utile per applicazioni Node.js pure come API o applicazioni Next.js/Nuxt.

Configurazione Docker

Campo Descrizione
CPU Cores Limit Limite CPU per il container
Memory Limit (MB) Limite memoria per il container in MB

File di Configurazione

File Descrizione
Dockerfile File Docker per la build dell'immagine con Node.js

Versioni Node.js Supportate

Versione Stato Note
22 Current Ultima versione, nuove funzionalità
20 LTS Raccomandato per produzione
18 LTS Supporto a lungo termine

Connessione

Dalla rete Docker interna:

  • Host: nodejs
  • Porta: 3000

Best Practices

  1. Usa la versione LTS (20.x) per produzione
  2. Imposta NODE_ENV=production per ottimizzazioni
  3. Usa PM2 per gestire i processi in produzione
  4. Configura memoria adeguata per applicazioni che processano molti dati

Prossimi Passi

  • Nginx - Reverse proxy per Node.js
  • PostgreSQL - Database consigliato per Node.js
  • Redis - Cache e gestione sessioni