Hai un’applicazione Node.js, un servizio impacchettato in container, magari un insieme di strumenti self-hosted, e cerchi un hosting Docker che non ti costringa a pagare una piattaforma gestita al prezzo di un affitto. La domanda sembra tecnica, ma la risposta è soprattutto economica: tra un hosting condiviso da pochi euro e un servizio PaaS da decine di euro per applicazione esiste una fascia intermedia, il VPS con Docker, dove i costi si abbassano e le responsabilità salgono. Questa guida ti mostra come muoverti su quella scala, quanta RAM serve davvero (e quanta ne mangiano gli strumenti di deploy), quali trappole operative colpiscono i container in produzione e quale VPS scegliere con i prezzi di oggi.
Se cerchi invece l’inquadramento generale dell’hosting Docker e non solo, parti dalla guida hosting per sviluppatori; per i framework PHP vedi hosting Laravel, per le API hosting per API e microservizi e per i prodotti software hosting per SaaS e applicazioni.
Fonti. Limiti di Node.js su hosting condiviso da documentazione di provider e guide tecniche; confronto Coolify/Dokploy da un’analisi indipendente del 2026 (le cifre di consumo di RAM sono indicative e vanno verificate sul tuo carico); prezzi e specifiche dei VPS dal database FindHost e, per Hetzner, dalla documentazione ufficiale dopo l’adeguamento del 15 giugno 2026. Non riportiamo benchmark non verificabili.
Hosting Docker e Node.js: la scala dei quattro gradini
Non esiste “il” hosting per Node.js: esistono quattro livelli di controllo, e la scelta giusta è quella dell’ultimo gradino di cui hai davvero bisogno. Salire costa competenze, non solo denaro.
| Gradino | Cosa ottieni | Cosa perdi | Adatto a |
|---|---|---|---|
| 1. Shared con Node.js Selector | Un’app Node nel pannello, zero sistemistica | Processi persistenti, WebSocket, Docker, PM2 | Piccole API e prototipi |
| 2. VPS con Docker Compose | Root, container, qualunque stack, costo prevedibile | Manutenzione, sicurezza e backup sono tuoi | Sviluppatori e piccoli SaaS |
| 3. VPS con PaaS self-hosted | Deploy da Git, HTTPS automatico, database con un clic | Parte della RAM, un livello in più da mantenere | Chi gestisce 3 o più applicazioni |
| 4. PaaS gestita o Kubernetes | Scalabilità orizzontale, zero server | Costo molto più alto, vincoli di piattaforma | Traffico elevato o team strutturati |
Gradino 1: Node.js su hosting condiviso
Si può, ma non su qualsiasi piano. Node.js non è una funzione predefinita dell’hosting condiviso e la stessa applicazione può funzionare da un provider e fallire da un altro. Il meccanismo tipico è il Node.js Selector di CloudLinux, esposto dal pannello (cPanel o DirectAdmin) e gestito tramite Passenger, che supervisiona il processo e lo riavvia. In pratica scegli la versione di Node, indichi il file di avvio e la cartella dell’applicazione, imposti le variabili d’ambiente e il pannello collega il dominio all’app.
I limiti, invece, sono quelli che rendono questo gradino adatto solo a carichi leggeri:
- tetti di CPU e memoria che possono arrestare l’applicazione sotto carico;
- porte personalizzate di norma bloccate: l’app non sceglie su quale porta ascoltare, la decide Passenger;
- WebSocket e connessioni persistenti spesso limitati, quindi niente chat in tempo reale o dashboard in streaming;
- processi in background e job di lunga durata limitati o vietati;
- nessun PM2 né altri gestori di processi personalizzati;
- compilazione di moduli nativi che spesso fallisce.
Una piccola applicazione Express o una API a basso traffico può funzionare bene qui. Appena ti servono processi persistenti, WebSocket, pacchetti di sistema che richiedono root o più servizi in parallelo, il segnale è chiaro: passa al VPS. Per capire la differenza tra le due famiglie di prodotti leggi cloud server contro VPS.
Gradino 2: hosting Docker, perché serve un VPS e quanta RAM
L’hosting Docker ha bisogno di funzioni del kernel e di privilegi di amministratore che nessun hosting condiviso concede. Per usarlo ti serve un VPS (o un server dedicato) con accesso root e un sistema operativo Linux; se il tuo orientamento è tra Linux e Windows, la guida hosting Linux contro Windows chiarisce perché per i container la scelta è quasi sempre Linux.
Per l’hosting Docker la domanda successiva è quanta memoria comprare. Un’app Node.js tipica in produzione usa una frazione di gigabyte, ma Docker e il resto dello stack ne consumano a loro volta: sistema operativo, daemon dei container, reverse proxy, database, strumenti di monitoraggio. Il criterio pratico che ti consigliamo è partire da 4 GB come minimo operativo e da 8 GB come configurazione comoda se prevedi più servizi o un database sulla stessa macchina.
| Piano | vCPU | RAM | Disco | Prezzo/mese | € per GB di RAM |
|---|---|---|---|---|---|
| Contabo VPS 10 | 4 | 8 GB | 75 GB NVMe | €3,60 | 0,45 |
| Contabo VPS 20 | 6 | 12 GB | 100 GB NVMe | €5,60 | 0,47 |
| IONOS VPS M | 2 | 4 GB | 120 GB NVMe | €3,00 | 0,75 |
| IONOS VPS L | 4 | 8 GB | 240 GB NVMe | €5,00 | 0,63 |
| Hetzner CX23 | 2 | 4 GB | 40 GB | €5,49 | 1,37 |
| Hetzner CX33 | 4 | 8 GB | 80 GB | €8,49 | 1,06 |
| InMotion VPS 4 vCPU | 4 | 8 GB | 160 GB NVMe | €12,63 | 1,58 |
Prezzi del database FindHost; per Hetzner, listino dopo l’aumento del 15 giugno 2026. Ricorda che in questo elenco la fascia di prezzo non dice nulla sulla costanza delle prestazioni: i piani molto economici concentrano più tenant per host, e per un servizio con utenti reali conviene misurare il steal time della CPU nei primi giorni. Per i dettagli leggi Contabo VPS, Hetzner VPS e IONOS; l’elenco dei piani sotto i 10 euro è in VPS economici.
Gradino 3: hosting Docker con PaaS self-hosted e la tassa nascosta sulla RAM
Gestire i container a mano con Docker Compose funziona benissimo per una o due applicazioni; quando ne hai cinque, con domini, certificati, database e deploy automatici da Git, comincia a pesare. Gli strumenti PaaS self-hosted risolvono il problema: installi un pannello sul tuo VPS e ottieni una piattaforma in stile “Vercel fatto in casa” con deploy da repository, HTTPS automatico via Let’s Encrypt, variabili d’ambiente e database con pochi clic. I due nomi che emergono nei confronti del 2026 sono Coolify e Dokploy.
| Caratteristica | Coolify | Dokploy |
|---|---|---|
| Licenza | Apache 2.0 (open source) | Source-available, con restrizioni commerciali su alcune funzioni |
| RAM a riposo (indicativa) | Circa 1,2 GB | Circa 0,8 GB |
| Servizi a un clic | Oltre 280 | Oltre 100 |
| Punto di forza | Gestione multi-server, interfaccia curata, ampio catalogo | Più leggero, supporto nativo a Docker Swarm |
| Database supportati | PostgreSQL, MySQL, Redis, MongoDB e altri | PostgreSQL, MySQL, Redis, MariaDB |
| Punto debole | Ripristini di produzione ancora in parte da SSH | Approccio più orientato alla riga di comando |
Il dato che nessuno mette in evidenza è il costo in memoria. Se prendi per buoni i consumi a riposo riportati dall’analisi (da verificare nel tuo ambiente, perché cambiano con la versione e con i servizi attivi), su un VPS da 4 GB la piattaforma si porta via il 30% della RAM con Coolify (1,2 GB) e il 20% con Dokploy (0,8 GB) prima ancora di avviare la tua prima applicazione. Su un VPS da 8 GB le percentuali scendono al 15% e al 10%. È la ragione per cui il confronto sui prezzi della tabella precedente cambia valore: un piano da 4 GB è sufficiente per Compose, ma per un PaaS la soglia comoda è 8 GB.
Come usare queste informazioni. Le linee guida della stessa analisi indicano che per 1-3 applicazioni un VPS entry level basta con Dokploy, mentre da 4 applicazioni in su (o se vuoi far girare modelli linguistici locali, che da soli occupano circa 4 GB in inferenza per un modello da 7 miliardi di parametri) conviene un piano più grande e Coolify. Considera sempre queste cifre come ordini di grandezza.
Hosting Docker in produzione: sette trappole di Compose che colpiscono tutti
La parte che le guide ai container saltano è quella operativa. Questi sono gli errori che vediamo più spesso quando un’applicazione Docker passa dal portatile al VPS:
- Le porte pubblicate aggirano il firewall. Quando in Compose scrivi una porta aperta, Docker modifica direttamente le regole di rete del sistema e in molte configurazioni ignora le regole di UFW. Un database pubblicato per comodità può risultare raggiungibile da Internet pur con il firewall “attivo”. Soluzione: pubblica solo su
127.0.0.1e lascia che il reverse proxy sia l’unico ingresso. - I log riempiono il disco. Il driver predefinito non ruota i log: dopo qualche mese un container verboso può esaurire i 40 o 75 GB del VPS. Imposta sempre una dimensione massima e un numero di file.
- Niente politica di riavvio. Senza
restart: unless-stoppedun riavvio del server lascia i servizi spenti. - Niente controlli di salute. Un processo vivo non è un servizio funzionante: aggiungi un healthcheck per far riavviare i container bloccati.
- Immagini senza versione. Usare l’etichetta
latestsignifica che un deploy di domani può rompere l’app di oggi. Fissa la versione. - Volumi senza backup. I dati vivono nei volumi: serve un dump regolare dei database e una copia fuori dal server (vedi backup automatico).
- Limiti di memoria assenti. Un servizio con una perdita di memoria può far intervenire l’OOM killer sul container sbagliato: imposta un limite per servizio.
Una configurazione di partenza che copre quasi tutte queste voci:
services:
app:
image: ghcr.io/tuo-utente/tuo-app:1.4.2
restart: unless-stopped
env_file: .env
ports:
- '127.0.0.1:3000:3000'
healthcheck:
test: ['CMD', 'wget', '-qO-', 'http://localhost:3000/health']
interval: 30s
timeout: 5s
retries: 3
logging:
driver: json-file
options:
max-size: '10m'
max-file: '3'
deploy:
resources:
limits:
memory: 512M
Nota le due scelte chiave: la porta è legata a localhost, quindi l’unico ingresso pubblico sarà il proxy, e i log hanno un tetto. Ricordati di aggiungere al sistema le difese di base (accesso SSH con chiave, aggiornamenti automatici, fail2ban, monitoraggio esterno): la checklist è nella guida alla sicurezza dell’hosting.
Hosting Docker: reverse proxy e HTTPS davanti ai container
Un’applicazione Node.js non dovrebbe mai esporre direttamente la porta 80 o 443: davanti ci va un reverse proxy che gestisce il certificato, la compressione e il routing verso i container. Le tre scelte più diffuse hanno caratteristiche diverse. Caddy ottiene e rinnova i certificati in automatico con pochissima configurazione, ed è il più semplice per chi parte da zero. Traefik si configura con le etichette dei container e rileva da solo i nuovi servizi, ottimo se aggiungi applicazioni di frequente. Nginx (spesso in coppia con un gestore grafico) è il più diffuso e documentato, ma richiede più lavoro per i certificati. Con un PaaS come Coolify o Dokploy la scelta è già fatta, perché integrano Traefik. Per i concetti su certificati e protocolli leggi SSL, HTTPS e HTTP/2.
Hosting Docker, sede dei server e GDPR
Se la tua applicazione tratta dati di utenti italiani o europei, la sede del VPS conta. Le opzioni che abbiamo analizzato hanno datacenter in Germania, Francia e Finlandia e nessuna sede in Italia: una scelta compatibile con il GDPR a patto di documentarla nel registro dei trattamenti e di verificare dove finiscono i backup e i servizi esterni collegati. Per chi ha bisogno di una presenza italiana, la panoramica è in VPS Italia: migliori provider. Quando cambi fornitore, la procedura di migrazione senza downtime vale anche per i container: la differenza è che sposti volumi e configurazioni, non file PHP.
Quale hosting Docker scegliere in base al progetto
| Progetto | Scelta consigliata | Motivo |
|---|---|---|
| Piccola API o prototipo | Shared con Node.js Selector | Zero manutenzione, costo minimo. |
| Una o due app con database | VPS 4 GB con Docker Compose | Controllo totale a €3–6 al mese. |
| Cinque o più applicazioni | VPS 8 GB con Coolify o Dokploy | Deploy da Git e HTTPS automatico; la tassa di RAM è accettabile a 8 GB. |
| Servizio con utenti paganti | VPS con prestazioni costanti | Valuta Hetzner o IONOS rispetto ai piani più economici e misura lo steal time. |
| WebSocket, chat, streaming su larga scala | ✗ Non su shared | Servono processi persistenti e risorse isolate. |
Pro e contro dell’hosting Docker su VPS
- Costo molto basso per risorsa: 8 GB di RAM a partire da circa €3,60 al mese.
- Libertà totale di stack: Node.js, database, code, qualunque servizio containerizzato.
- Ambienti identici tra sviluppo e produzione grazie ai container.
- Possibilità di crescere con un PaaS self-hosted senza cambiare provider.
- Sicurezza, aggiornamenti e backup sono interamente a tuo carico.
- Le trappole di Docker (porte, log, volumi) richiedono esperienza.
- Un PaaS self-hosted assorbe una quota non trascurabile di RAM.
- I piani più economici hanno prestazioni più variabili e supporto limitato.
Per l’hosting Docker il punto di partenza giusto è un VPS da 8 GB, non da 4. La differenza di prezzo tra i due tagli è di pochi euro, ma sul piano da 4 GB lo strumento di deploy si mangia fino al 30% della memoria e ti lascia senza margine quando aggiungi un database. Se vuoi risparmiare, Contabo offre il miglior rapporto risorse/prezzo; se vuoi disco abbondante, SLA dichiarato e supporto 24/7, IONOS VPS L è la scelta più equilibrata; se servi utenti paganti e vuoi la costanza, valuta Hetzner e accetta il prezzo più alto dopo gli aumenti di giugno. In ogni caso parti con Compose, configura le sette protezioni descritte sopra e introduci un PaaS solo quando le applicazioni sono almeno tre.
Domande frequenti su hosting Docker e Node.js
Si può usare Docker su un hosting condiviso?
No. Docker richiede funzioni del kernel e privilegi di amministratore che l’hosting condiviso non concede. Per usare i container ti serve un VPS o un server dedicato con accesso root e Linux.
Si può ospitare Node.js su un hosting condiviso?
Sì, ma solo se il provider offre il Node.js Selector di CloudLinux (di solito dal pannello cPanel o DirectAdmin) con Passenger. I limiti sono forti: tetti di CPU e RAM, porte personalizzate bloccate, WebSocket e processi in background limitati e niente PM2. Va bene per piccole API e prototipi.
Quanta RAM serve per un VPS con Docker?
Come minimo operativo 4 GB, ma 8 GB è la configurazione comoda, soprattutto se aggiungi un database o un PaaS come Coolify o Dokploy. Secondo le cifre indicative riportate dai confronti del 2026, questi strumenti consumano a riposo tra circa 0,8 e 1,2 GB, quindi su un VPS da 4 GB occupano fino al 30% della memoria.
Meglio Coolify o Dokploy?
Coolify ha un catalogo più ampio (oltre 280 servizi a un clic), licenza Apache 2.0 e gestione multi-server, ma consuma di più. Dokploy è più leggero, supporta Docker Swarm in modo nativo ed è indicato per 1-3 applicazioni su VPS piccoli. Se gestisci quattro o più applicazioni conviene un piano più grande e Coolify.
Perché con Docker le porte aperte aggirano il firewall?
Quando pubblichi una porta in Compose, Docker modifica direttamente le regole di rete del sistema e in molte configurazioni ignora le regole di UFW. Per evitare di esporre un database per errore, pubblica le porte solo su 127.0.0.1 e lascia che il reverse proxy sia l’unico ingresso pubblico.
Quale hosting Docker scegliere con un budget basso?
Contabo VPS 10 offre 4 vCPU e 8 GB di RAM a circa €3,60 al mese, il miglior rapporto risorse/prezzo del nostro database. IONOS VPS L (4 vCPU, 8 GB, 240 GB NVMe) costa €5,00 e ha SLA dichiarato e supporto 24/7. Hetzner CX33 costa €8,49 dopo gli aumenti di giugno 2026 ma ha prestazioni più regolari.
Per il quadro generale sull’hosting Docker e sugli altri tipi di hosting leggi la guida completa all’hosting, e se stai ancora decidendo tra le fasce di prezzo, come scegliere l’hosting.