Computer

Più siti su una VPS sola: come si fa con i container

In una riga: su una VPS da pochi euro ci stanno comodi un sito, una applicazione web e il loro database, a patto di tenerli in stanze separate e di mettere davanti un portiere solo che smista in base al nome del dominio. Così se una cosa si rompe o viene bucata, le altre non se ne accorgono.

Fabrizio Picco
scritta il 19 settembre 2026 · si legge in 16 minuti

Prendere una VPS per un sito solo è come comprare una macchina a quattro posti per viaggiare sempre da solo: per la maggior parte del tempo sta ferma ad aspettare. Metterci sopra anche altro si può, e costa molto meno di una seconda macchina — ma va fatto in un modo preciso, se no il giorno che una delle due cose ha un problema se le porta via tutte. Qui c'è come, con i comandi.

Il container di Docker non è quello di Proxmox

Se vieni da Proxmox la parola «container» ce l'hai già in testa, e vuol dire un'altra cosa. Finché non è chiara questa differenza, il resto sembra complicato senza motivo.

Un container di Proxmox è una macchinetta: ha dentro un sistema Linux completo, ci entri, installi quello che vuoi, si aggiorna, ha una sua vita. È un piccolo computer.

Un container di Docker è un programma solo, imballato con tutto quello che gli serve per funzionare. Non ci si entra per lavorarci, non si aggiorna da dentro: quando c'è una versione nuova si butta via e se ne mette un altro. Lo stato, cioè i dati che devono sopravvivere, sta fuori in una cartella della macchina.

È proprio quello il vantaggio. Il sito, l'applicazione e il database non si pestano i piedi perché ognuno si porta dietro le sue librerie, e aggiornarne uno non tocca gli altri. E se una versione nuova fa danni, si rimette quella di prima cambiando un numero.

La frase da ricordare: i container sono usa e getta, i dati no. Tutto quello che non sta in una cartella dichiarata sparisce al primo aggiornamento. È l'errore numero uno di chi comincia, e si scopre nel modo peggiore.
Container ProxmoxContainer Docker
Cos'èuna macchinetta con un sistemaun programma solo
Ci si entra a lavoraresì, come su un PCno, quasi mai
Si aggiornada dentro, come Debiansi butta e si rifà
Dove stanno i datidentrofuori, in una cartella
Quanto pesaqualche centinaio di MBspesso poche decine
A cosa serve quinon c'entra: è un altro strumentotenere separati i programmi

Come si organizza la macchina

L'impianto è sempre lo stesso, e una volta capito vale per qualunque cosa ci metterai sopra.

Internet443la VPSIl portiereguarda il dominioIl sitoguidainitaliano.itL'applicativoapp.tuodominio.itIl databasenessuno da fuori
Da fuori si entra da una porta sola. Le stanze dietro non sono raggiungibili da internet: se una prende un colpo, le altre non se ne accorgono.
Il portiere qui è Caddy. Ce ne sono altri, ma Caddy fa i certificati HTTPS da solo senza che tu faccia niente, e il suo file di configurazione si legge come una frase. Con nginx la stessa cosa sono trenta righe di roba criptica.
  1. Una porta sola aperta verso internet, la 443, quella di HTTPS. Tutto il resto chiuso.
  2. Un portiere che riceve tutto e guarda il nome del dominio: se è guidainitaliano.it manda al sito, se è app.tuodominio.it manda all'applicazione. Si occupa lui anche dei certificati HTTPS, da solo e gratis.
  3. Ogni programma nella sua stanza, e le stanze non sono raggiungibili da internet: rispondono solo al portiere.
  4. Il database in una stanza ancora più chiusa: parla solo con l'applicazione che lo usa, e non ha nessun dominio.
  5. I dati in cartelle dichiarate sulla macchina, che è quello che poi si salva col backup.

I comandi, dall'inizio alla fine

Dalla VPS appena consegnata a due cose che girano. Si parte collegati come root, come arriva la macchina dal fornitore.

Tre avvertimenti, e il primo va letto prima di incollare qualsiasi cosa.

1. Il comando che gira in rete per spegnere la password spesso non funziona, e non te lo dice. Quasi tutte le immagini dei fornitori di VPS mettono un file in /etc/ssh/sshd_config.d/ che riaccende la password, e quel file vince su quello principale. Chi modifica solo sshd_config resta con la password attiva credendo di essersela tolta — che è peggio che non aver fatto niente. Per questo qui sopra la regola si scrive in un file nuovo e si verifica con sshd -T prima di riavviare.

E attenzione al numero davanti al nome, che non e' un dettaglio. SSH tiene il primo valore che incontra e legge i file di quella cartella in ordine alfabetico: il file del fornitore si chiama quasi sempre 50-cloud-init.conf, quindi un file chiamato 99- verrebbe letto dopo e non servirebbe a niente. Per questo qui sta scritto 10-. Se il passo 2 ti risponde yes, guarda cosa c'e' in quella cartella con ls /etc/ssh/sshd_config.d/ e dai al tuo file un numero piu' basso di tutti.

2. Mettere l'utente nel gruppo docker equivale a dargli i poteri di root. Lo scrive Docker stessa. È comodo e lo fanno tutti, ma va saputo: se su quella macchina la comodità non ti serve, usa sudo docker e lascia stare il gruppo. E ricordati che il cambio ha effetto solo dopo esserti ricollegato.

3. Prima di spegnere la password apri una seconda finestra già collegata al server e non chiuderla. Se la chiave non funziona, quella finestra è l'unico modo per rimediare senza passare dal pannello del fornitore. È il consiglio che salva il pomeriggio.
  1. Aggiorna e crea un utente tuo. Lavorare sempre da root è il modo più veloce di fare un danno irreparabile con un comando battuto male.
  2. Metti la chiave SSH e spegni la password. Da questo momento si entra solo con la chiave: le password sui server esposti vengono provate a migliaia ogni notte, le chiavi no.
  3. Accendi il muro (il firewall) lasciando aperte solo la porta di SSH, la 80 e la 443.
  4. Installa Docker con lo script ufficiale, e aggiungi il tuo utente al gruppo docker così non serve sudo ogni volta.
  5. Prepara le cartelle dove staranno i dati e i file di configurazione, e scrivi il file che descrive le stanze.
  6. Fai partire tutto con un comando solo. Da qui in poi aggiornare vuol dire ripetere quel comando.

Comandi · tocca per copiare

  • Aggiorna il sistema
  • Crea il tuo utente
  • Copia la chiave SSH (dal TUO computer)
  • Spegni la password — 1. scrivi la regola dove vince di sicuro
  • Spegni la password — 2. controlla che il valore applicato sia davvero no
  • Spegni la password — 3. solo se il passo 2 dice no, riavvia
  • Accendi il firewall (apri PRIMA, accendi DOPO)
  • Installa Docker (vedi la nota: in produzione meglio il repository)
  • Usa Docker senza sudo (poi RICOLLEGATI)
  • Crea le cartelle
  • Fai partire tutto
  • Guarda cosa gira
  • Leggi i messaggi di una stanza
  • Aggiorna tutto all'ultima versione
Qui va una foto: il pannello di un fornitore di VPS con la console di emergenza evidenziata, quella che serve quando ci si chiude fuori

Le sei regole che non si saltano

Una macchina su internet viene provata da programmi automatici entro pochi minuti dall'accensione. Non è una questione di essere importanti: provano tutti gli indirizzi, sempre.

La regola che vale più di tutte le altre messe insieme: un backup che non hai mai ripristinato non è un backup, è una speranza. Provane uno il giorno stesso in cui lo imposti, su una macchina che non ti serve.
  1. Niente password, solo chiavi. E l'utente root non entra da SSH: «root» è il nome che provano per primo, sempre.
  2. Una porta sola aperta. Le stanze non espongono porte verso l'esterno: parlano fra loro dentro la macchina. Se in un esempio trovi scritto di pubblicare la porta del database, quell'esempio è sbagliato.
  3. Domini diversi per cose diverse. L'applicazione su un suo dominio, non in una cartella del sito. Se un giorno ha un problema di sicurezza, non trascina con sé la reputazione del sito su Google.
  4. Ogni programma con i suoi permessi. Il database ha la sua password, l'applicazione la conosce, il sito no. E le password stanno in un file a parte, non dentro il file di configurazione che finisce su git.
  5. Aggiornamenti di sicurezza automatici per il sistema, e un giro a mano una volta al mese per i container.
  6. Il backup fuori dalla macchina. Un backup sulla stessa VPS non è un backup: se quella macchina sparisce, sparisce anche lui. Va portato altrove, ed è l'unica cosa che ti salva davvero.

Comandi · tocca per copiare

  • Aggiornamenti di sicurezza automatici
  • Blocca chi ci riprova troppe volte
  • Controlla che le stanze non espongano porte

Cosa si rompe davvero, e come accorgersene prima

Dopo il primo mese i problemi non sono quelli che ci si aspetta. Non è l'attacco informatico: è il disco pieno.

Il comando della pulizia va usato con la testa: cancella anche i dati delle stanze spente. Se non sei sicuro, lancialo senza l'opzione dei volumi. E prima di qualunque pulizia, guarda cosa c'è: un secondo di attenzione contro un pomeriggio di ricostruzione.
Cosa succedePerchéCome si evita
Il disco si riempiei messaggi dei programmi crescono senza limiteun tetto ai messaggi, e un avviso sotto il 15% libero
Le vecchie versioni occupano spazioogni aggiornamento lascia la precedenteuna pulizia una volta al mese
Un aggiornamento rompe qualcosala versione nuova cambia qualcosafissare le versioni, non usare «latest»
I dati sparisconoerano dentro il container, non in una cartellacontrollare che ogni cosa scriva in una cartella dichiarata
Il sito rallenta a certe oreun programma si mangia la memoriamettere un limite di memoria a ogni stanza
Il certificato scadequasi mai: Caddy li rinnova da solocontrollare che la porta 80 resti aperta

Comandi · tocca per copiare

  • Quanto spazio è rimasto
  • Chi si sta mangiando il disco
  • Pulisci le vecchie versioni
  • Quanta memoria usa ogni stanza

Domande frequenti

Posso mettere più siti sulla stessa VPS?

Sì, ed è il motivo per cui conviene prenderne una un po' più grossa invece di due piccole. Servono tre cose: ogni programma in un container suo, un portiere davanti che smista in base al nome del dominio, e una sola porta aperta verso internet. Così se una cosa si rompe le altre non se ne accorgono.

Che differenza c'è fra un container Docker e uno di Proxmox?

Un container di Proxmox è una macchinetta con dentro un sistema Linux completo: ci entri e ci lavori. Un container di Docker è un programma solo imballato con quello che gli serve: non ci si entra, e quando esce una versione nuova si butta e se ne mette un altro. I dati stanno fuori, in una cartella della macchina.

Quanta RAM serve per far girare sito e applicazione insieme?

Per un sito statico più una applicazione web con qualche decina di utenti e il suo database, quattro gigabyte bastano e otto stanno larghi. Il sito statico consuma pochissimo: quasi tutta la memoria se la prendono l'applicazione e il database.

È pericoloso mettere un applicativo sulla stessa macchina del sito?

Lo è se stanno mescolati, non lo è se stanno in container separati con utenti diversi e su domini diversi. Il rischio vero da evitare è mettere l'applicazione in una cartella del sito: così un problema di sicurezza lì dentro diventa un problema di reputazione del sito su Google.

Come faccio i certificati HTTPS per più domini?

Non li fai: li fa il portiere. Caddy chiede e rinnova da solo i certificati per ogni dominio che gli dici di servire, gratis, senza nessun comando. L'unica cosa da sapere è che la porta 80 deve restare aperta, perché è da lì che passa la verifica del rinnovo.

Cosa si rompe più spesso su una VPS?

Il disco pieno, quasi sempre per i messaggi dei programmi che crescono senza limite, e per le vecchie versioni dei container che restano lì. Quando il disco è pieno si ferma tutto, sito compreso. Si evita mettendo un tetto ai messaggi e un avviso quando lo spazio libero scende sotto il quindici per cento.

Da dove vengono questi dati

Dati controllati il 19 settembre 2026.

Questa guida l’ho scritta con l’aiuto dell’intelligenza artificiale e l’ho verificata sulle fonti qui sopra prima di pubblicarla. Come lavoro

Continua da qui