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.
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.
| Container Proxmox | Container Docker | |
|---|---|---|
| Cos'è | una macchinetta con un sistema | un programma solo |
| Ci si entra a lavorare | sì, come su un PC | no, quasi mai |
| Si aggiorna | da dentro, come Debian | si butta e si rifà |
| Dove stanno i dati | dentro | fuori, in una cartella |
| Quanto pesa | qualche centinaio di MB | spesso poche decine |
| A cosa serve qui | non c'entra: è un altro strumento | tenere separati i programmi |
Come si organizza la macchina
L'impianto è sempre lo stesso, e una volta capito vale per qualunque cosa ci metterai sopra.
- Una porta sola aperta verso internet, la 443, quella di HTTPS. Tutto il resto chiuso.
- 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.
- Ogni programma nella sua stanza, e le stanze non sono raggiungibili da internet: rispondono solo al portiere.
- Il database in una stanza ancora più chiusa: parla solo con l'applicazione che lo usa, e non ha nessun dominio.
- 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.
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.
- Aggiorna e crea un utente tuo. Lavorare sempre da root è il modo più veloce di fare un danno irreparabile con un comando battuto male.
- 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.
- Accendi il muro (il firewall) lasciando aperte solo la porta di SSH, la 80 e la 443.
- Installa Docker con lo script ufficiale, e aggiungi il tuo utente al gruppo docker così non serve sudo ogni volta.
- Prepara le cartelle dove staranno i dati e i file di configurazione, e scrivi il file che descrive le stanze.
- 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
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.
- Niente password, solo chiavi. E l'utente root non entra da SSH: «root» è il nome che provano per primo, sempre.
- 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.
- 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.
- 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.
- Aggiornamenti di sicurezza automatici per il sistema, e un giro a mano una volta al mese per i container.
- 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.
| Cosa succede | Perché | Come si evita |
|---|---|---|
| Il disco si riempie | i messaggi dei programmi crescono senza limite | un tetto ai messaggi, e un avviso sotto il 15% libero |
| Le vecchie versioni occupano spazio | ogni aggiornamento lascia la precedente | una pulizia una volta al mese |
| Un aggiornamento rompe qualcosa | la versione nuova cambia qualcosa | fissare le versioni, non usare «latest» |
| I dati spariscono | erano dentro il container, non in una cartella | controllare che ogni cosa scriva in una cartella dichiarata |
| Il sito rallenta a certe ore | un programma si mangia la memoria | mettere un limite di memoria a ogni stanza |
| Il certificato scade | quasi mai: Caddy li rinnova da solo | controllare 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.
- Docker — documentazione ufficiale di Compose i comandi e il formato del file
- Caddy — documentazione ufficiale i certificati automatici e il file di configurazione
Questa guida l’ho scritta con l’aiuto dell’intelligenza artificiale e l’ho verificata sulle fonti qui sopra prima di pubblicarla. Come lavoro


