Test indipendenti Aggiornato agosto 2026 387 guide di self-hosting 5 provider VPS testati

guide

Come Auto-Ospitare Plane su un VPS (Guida Completa)

Installa Plane, l'alternativa open source a Jira, su un VPS con l'installer ufficiale. Dimensionamento reale, stack da 13 container, DNS, backup e aggiornamenti.

Plane è uno strumento open source per la gestione dei progetti - issue, cicli, moduli e pagine, sullo stesso terreno di Jira e Linear - ed è una delle applicazioni auto-ospitate più pesanti che si possano mettere su un VPS piccolo. La Community Edition porta con sé uno stack da tredici container, quindi la parte interessante di questa guida è dimensionare bene il server, non digitare docker compose up.

Perché auto-ospitare Plane?

Il piano ospitato fattura per utente. L’auto-hosting elimina quel costo e tiene lo storico delle issue, gli allegati e i dati di progetto su un’infrastruttura che controlli tu, cosa che conta quando il tracker contiene nomi di clienti, vulnerabilità o punti di roadmap non ancora pubblici. La Community Edition è sotto licenza AGPL-3.0, quindi puoi usarla in un contesto aziendale senza pagare licenze.

Il prezzo da pagare è reale: aggiornamenti, backup e istanza Postgres restano a carico tuo. Se nessuno nel team vuole quel compito, la versione ospitata è la risposta onesta.

Prerequisiti

La documentazione di Plane elenca i requisiti senza ambiguità:

Quella soglia di 4 GB non è margine di sicurezza. Lo stack avvia web, admin, space, api, worker, beat-worker, migrator, live, un proxy, oltre a postgres:15.7-alpine, valkey/valkey:7.2.11-alpine, rabbitmq:3.13.6-management-alpine e minio/minio. Tredici container a riposo consumano gran parte di 4 GB prima che si colleghi il primo utente.

Se ti serve ancora un server, Contabo, Hetzner Cloud e DigitalOcean hanno piani che superano l’asticella: guarda la tabella qui sotto e il nostro confronto VPS completo.

Passo 1: scegliere un piano che superi i 4 GB

È qui che fallisce la maggior parte delle installazioni di Plane. Il piano più economico di quasi tutti i provider ha 1 GB di RAM, un quarto del minimo documentato.

PianovCPU / RAM / DiscoPrezzoVerdetto per Plane
Contabo Cloud VPS 44 / 8 GB / 100 GB SSD5,50 EUR/mese nettoRaggiunge gli 8 GB consigliati
Hetzner CX334 / 8 GB / 80 GB NVMe8,49 EUR/mese nettoRaggiunge gli 8 GB consigliati
Hetzner CX232 / 4 GB / 40 GB NVMe5,49 EUR/mese nettoEsattamente il minimo; adeguato a un piccolo team
DigitalOcean, droplet base1 / 1 GB / 25 GB6 USD/meseTroppo piccolo: Plane non ci girerà

Installa Ubuntu 24.04 LTS, crea un utente non root e attiva il firewall:

sudo apt update && sudo apt upgrade -y
sudo adduser plane
sudo usermod -aG sudo plane
sudo ufw allow OpenSSH && sudo ufw allow 80 && sudo ufw allow 443
sudo ufw enable

Passo 2: installare Docker

Plane richiede Compose v2. Installa dal repository ufficiale di Docker per ottenere docker-compose-plugin invece dello script v1 ormai fuori supporto:

sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
sudo usermod -aG docker $USER

Esci e rientra nella sessione, poi verifica la versione:

docker compose version

Passo 3: puntare prima il DNS al server

Fallo prima di lanciare l’installer. Durante la configurazione chiede il dominio e lo scrive in WEB_URL e CORS_ALLOWED_ORIGINS; se il DNS non risolve ancora, l’emissione del certificato fallisce e ti ritroverai a modificare file di ambiente a posteriori.

Crea un record A per plane.example.com verso l’indirizzo IP del VPS e attendi che risolva:

dig +short plane.example.com

Passo 4: eseguire l’installer ufficiale

Plane distribuisce un unico script di installazione che scarica immagini già compilate e scrive un docker-compose.yaml gestito:

curl -fsSL https://prime.plane.so/install/ | sh -

Lo script chiede il dominio, poi propone Express (valori predefiniti) oppure Advanced (imposta le singole variabili). Per una prima installazione va bene Express. Al termine Plane risponde sulle porte 80 e 443, governate da LISTEN_HTTP_PORT e LISTEN_HTTPS_PORT.

Una precisazione sul repository: il docker-compose.yml su GitHub compila ogni servizio dai sorgenti invece di scaricare immagini. È un flusso pensato per chi contribuisce al progetto: una compilazione richiede molta più RAM dell’esecuzione e su un VPS da 4 GB fallirà o manderà la macchina in swap. Usa l’installer.

Apri https://plane.example.com e crea il primo account. Quell’account diventa amministratore dell’istanza; il pannello di amministrazione si trova su /god-mode/, dove configuri SMTP, restrizioni di registrazione e autenticazione.

Passo 5: fare il backup di ciò che conta

Due elementi contengono i tuoi dati: il volume PostgreSQL e il volume MinIO, che conserva ogni allegato. Uno snapshot del VPS li copre entrambi, ma un dump del database ripristinabile in modo selettivo vale molto:

docker exec plane-db pg_dump -U plane plane | gzip > plane-$(date +%F).sql.gz

Copia il dump fuori dal server. Un backup che resta sul disco che stai salvando non è un backup.

Confronto tra VPS per auto-ospitare Plane

ProviderPiano d’ingresso da 4 GBPrezzo (al mese)NoteLink
ContaboCloud VPS 4 - 4 vCPU, 8 GB, 100 GB SSD5,50 EUR nettoLa via più economica agli 8 GB consigliatiContabo
Hetzner CloudCX23 - 2 vCPU, 4 GB, 40 GB NVMe5,49 EUR nettoRaggiunge il minimo; CX33 a 8,49 con 8 GBHetzner
DigitalOcean2 vCPU, 4 GB, 80 GB SSD24 USDPiù caro, ma documentazione e snapshot sono i miglioriDigitalOcean
Vultr2 vCPU, 4 GB, 80 GB SSD20 USDIl più economico dei tre; ampia scelta di regioniVultr
Linode (Akamai)2 vCPU, 4 GB, 80 GB SSD24 USDPrestazioni prevedibili, API solidaLinode

Lo schema è difficile da ignorare: i provider statunitensi chiedono dai 20 ai 24 USD per il gradino da 4 GB, all’incirca tre o quattro volte l’equivalente europeo. Per un tracker di issue auto-ospitato che serve un solo ufficio in una sola regione, quel divario è difficile da giustificare.

Per il quadro completo, consulta il nostro confronto VPS completo.

Dove i team si incagliano

Dimensionare guardando la pagina prodotto invece della documentazione. Plane sembra un’applicazione web; si comporta come una piccola piattaforma. Quattro GB sono la soglia minima, non l’obiettivo.

Saltare l’SMTP. Senza posta configurata in /god-mode/ gli inviti non arrivano mai e non puoi aggiungere nessuno allo spazio di lavoro. Sistemalo prima di far entrare il team.

Dimenticare MinIO nel backup. Salvare solo Postgres ti restituisce ogni issue e ogni commento senza un solo allegato.

Plane ripaga la fatica dell’installazione se il tuo team vive già dentro un tracker e preferisce non pagarlo a testa. Dimensiona bene la macchina, tieni i backup altrove, e il servizio girerà senza dare fastidio.

Per altri progetti e consigli sull’auto-hosting, sfoglia la lista awesome-selfhosted o la comunità r/selfhosted.

Frequently asked questions

Posso auto-ospitare Plane su un VPS con 1 GB o 2 GB di RAM?

No. La documentazione di Plane fissa la soglia minima a 2 core CPU e 4 GB di RAM, e lo stack Compose della Community Edition avvia tredici container, fra cui PostgreSQL, Valkey, RabbitMQ e MinIO. Su una macchina da 2 GB l'installer arriva in fondo, ma i container vengono terminati per esaurimento di memoria al primo utilizzo reale. 4 GB sono il minimo praticabile e la documentazione consiglia 8 GB in produzione.

Come aggiorno Plane a una versione più recente?

Riesegui lo script di gestione che l'installer ha lasciato sul server e scegli l'opzione di aggiornamento. In alternativa, dalla directory di installazione lancia docker compose pull e poi docker compose up -d. Il container migrator applica le migrazioni del database all'avvio, quindi prepara prima un dump PostgreSQL e uno snapshot. Leggi le note di rilascio, perché le versioni maggiori talvolta cambiano le variabili d'ambiente.

Serve un nome di dominio per far funzionare Plane?

In pratica sì. L'installer chiede il dominio durante la configurazione e lo scrive in WEB_URL e CORS_ALLOWED_ORIGINS, che frontend e API usano per comunicare tra loro. Un semplice indirizzo IP va bene per una prova locale ma rompe la configurazione CORS appena l'indirizzo cambia, e senza dominio non è possibile emettere un certificato Let's Encrypt.