Come installare n8n e fare self-host sui VPS Ubuntu 

Come installare n8n e fare self-host sui VPS Ubuntu 

n8n è uno strumento di automazione del flusso di lavoro che consente una perfetta integrazione tra diverse applicazioni e API. La possibilità di ospitarlo autonomamente su un VPS Ubuntu offre una maggiore privacy dei dati, opzioni di personalizzazione e risparmi sui costi rispetto alle soluzioni gestite.

Questa guida illustra due metodi di installazione: la semplice configurazione con un solo click di Hostinger e l’installazione manuale per gli utenti che preferiscono un controllo diretto. Al termine di questo tutorial, avrai un’istanza di n8n completamente funzionante sul tuo VPS, pronta per automatizzare i flussi di lavoro.

Prerequisiti

Prima di installare n8n, assicurati che il tuo ambiente di hosting soddisfi i seguenti requisiti:

  • Server privato virtuale (VPS) Ubuntu

Minimo: 1 vCPU, 1GB RAM (KVM1)

Consigliato: 2 vCPU, 2GB RAM (KVM2)
Se non ne hai ancora uno, Hostinger offre una gamma di opzioni per VPS, tra cui l’hosting VPS con n8n.

  • Dominio/sottodominio: facoltativo, ma consigliato per impostare HTTPS e semplificare l’accesso.
  • Accesso al tuo VPS: dovrai connetterti al tuo VPS tramite SSH (richiesto root) o utilizzando un pannello di controllo dell’hosting (come hPanel).
  • Docker: se stai seguendo l’approccio manuale, assicurati che Docker sia installato sul tuo VPS (non è richiesto per il template).

Come installare n8n usando il template per VPS di Hostinger

Iniziamo con il metodo più semplice: utilizzando il template one-click n8n di Hostinger. Questo metodo automatizza la configurazione del server Ubuntu e installa n8n e le sue dipendenze.

1. Accedi alla dashboard del VPS

Per prima cosa, devi accedere alla dashboard del tuo VPS.

  1. Vai sull’hPanel e accedi al tuo metodo preferito.
  2. Una volta effettuato l’accesso, vai sulla sezione VPS nel menu a sinistra.
  3. Scegli il VPS a cui desideri applicare il template n8n e clicca sul pulsante Gestisci accanto a esso.

2. Installa il template n8n

  1. Una volta nella dashboard del VPS, apri il menu a discesa Sistema operativo e pannello sulla sinistra e seleziona Sistema operativo.

Qui puoi trovare i sistemi operativi e i relativi template disponibili per il tuo VPS.

  1. Nel pannello Cambia sistema operativo, digita n8n nella barra di ricerca e seleziona il template n8n.
  2. Nella finestra di dialogo che si apre, clicca o tocca Cambia sistema operativo.
  3. Vedrai una finestra di dialogo che ti informa che il sistema operativo del tuo VPS verrà sovrascritto e tutti i file verranno eliminati. Seleziona la casella “Capisco che tutti i miei file verranno eliminati e non potranno essere ripristinati” e clicca su Avanti.
  4. Inserisci una password per l’utente root e clicca su Conferma.

La configurazione del template inizierà. Vedrai una barra di avanzamento nella parte superiore della dashboard, come nell’esempio seguente:

Dopo una breve attesa, la tua istanza di n8n sarà pronta per l’uso.

3. Testa l’installazione

Una volta configurato n8n sul tuo VPS, dovresti riuscire ad accedere e confermare che funzioni.

  1. Nella pagina Panoramica VPS, clicca su Gestisci app.
  1. Si aprirà la finestra di dialogo di n8n per la registrazione, che dovrebbe apparire simile all’esempio seguente:
  1. Inserisci semplicemente i tuoi dati e crea una password in base alle specifiche indicate. Clicca sul pulsante Avanti, quindi seleziona eventuali popup aggiuntivi, lasciandoli vuoti per ora. Questo ti porterà alla pagina Panoramica di n8n:
  1. Se vedi il pannello n8n nella sua visualizzazione predefinita, come questa, la configurazione è riuscita!

4. Configura la tua istanza n8n

Ora che la tua istanza n8n è attiva e funzionante, ottimizziamo le sue impostazioni di sicurezza e personalizzazione.

  1. Clicca o tocca l’icona a tre punti accanto al tuo nome nell’angolo in basso a sinistra e seleziona Impostazioni:
  1. Seleziona Personale nel menu a sinistra:

Qui puoi visualizzare e modificare tutte le tue credenziali, come Nome, Cognome, Email e Password. Puoi anche modificare n8n con le variabili dell’ambiente:

  1. Collegati al tuo VPS con SSH o attraverso il terminale del browser.
  2. Apri il file docker compose.yml con nano:
nano ../root/docker compose.yml
  1. Modifica la sezione Ambiente – aggiungi o modifica le variabili d’ambiente. Ad esempio, se desideri abilitare l’autenticazione di base, aggiungi:
- N8N_BASIC_AUTH_ACTIVE=true

 - N8N_BASIC_AUTH_USER=username

 - N8N_BASIC_AUTH_PASSWORD="password"


Sostituisci nome utente e password con il nome utente e la password effettivi del tuo utente.

Altre variabili d’ambiente comunemente utilizzate che potresti voler includere o modificare:

  • N8N_HOST – Impostalo sul tuo dominio, se ne utilizzi uno.
  • N8N_PORT – Il valore predefinito è 5678, ma è possibile modificarlo se necessario.
  • N8N_PROTOCOL – Specifica quale protocollo n8n dovrebbe utilizzare.
  • WEBHOOK_URL – Obbligatorio se si utilizzano webhook con un dominio.
  • GENERIC_TIMEZONE – Fuso orario facoltativo.
  1. Salva e chiudi nano premendo CTRL+X, poi Y e INVIO. Puoi confermare il salvataggio delle modifiche eseguendo:
cat docker compose.yml

Questo restituirà l’intero file Docker Compose. Dovresti vedere le tue modifiche lì.

  1. Riavvia Docker Compose per applicare le modifiche:
docker compose down

docker compose up -d

Dopo aver riavviato Docker Compose, le modifiche verranno implementate. n8n utilizzerà quindi le variabili di ambiente che hai impostato.

Se utilizzi un dominio personalizzato, dovresti anche configurare il protocollo SSL. Per una connessione HTTPS sicura, puoi utilizzare Let’s Encrypt con NGINX come reverse proxy:

  1. Installa Certbot e NGINX:
sudo apt install certbot nginx python3-certbot-nginx -y
  1. Crea/apri il file del sito NGINX per n8n:
sudo nano /etc/nginx/sites-available/n8n
  1. Configura NGINX come proxy per il traffico verso n8n. Aggiungi quanto segue, sostituendo iltuodominio.com con il tuo nome di dominio personalizzato:
server {

server_name yourdomain.com;

location / {

   proxy_pass http://localhost:5678;

   proxy_set_header Host $host;

   proxy_set_header X-Real-IP $remote_addr;

}

}

Salva e chiudi il file con CTRL+X, poi Y e INVIO.

  1. Abilita la configurazione e riavvia NGINX:
sudo ln -s /etc/nginx/sites-available/n8n /etc/nginx/sites-enabled/

sudo systemctl restart nginx
  1. Ottieni un certificato SSL per il tuo dominio personalizzato (sostituisci iltuodominio.com qui sotto con il nome del tuo dominio personalizzato):
sudo certbot --nginx -d yourdomain.com
  1. Apri crontab:
sudo certbot renew

Seleziona nano se viene richiesto di selezionare l’editor.

  1. Aggiungi il seguente cron job:
0 2 * * * certbot renew --quiet --post-hook "systemctl restart nginx"

Per impostazione predefinita, i certificati Let’s Encrypt scadono ogni 90 giorni. Con questa operazione attiva, certbot rinnoverà automaticamente il certificato quando necessario.

  1. Apri il file docker compose.yml con nano:
nano ../root/docker compose.yml
  1. Aggiorna le seguenti variabili d’ambiente:
- WEBHOOK_URL=https://yourdomain.com/

- N8N_HOST=yourdomain.com

 - N8N_PORT=5678

 - N8N_PROTOCOL=https

Salva e chiudi il file con CTRL+X, poi Y e INVIO.

  1.  Riavvia Docker Compose per eseguire le modifiche
docker compose down

docker compose up -d

Una volta eseguita questa operazione, sarà possibile accedere in modo sicuro alla tua istanza n8n utilizzando il tuo dominio personalizzato (ad esempio https://iltuodominio.com).

Come installare n8n su Ubuntu manualmente

Se utilizzi un fornitore di hosting VPS senza un template one-click con n8n, dovrai installare n8n manualmente. Vediamo passo dopo passo come installarlo e farlo funzionare su Ubuntu.

1. Installa le dipendenze

Prima di configurare manualmente n8n, dobbiamo installare alcune dipendenze essenziali. Inizia connettendoti al tuo VPS tramite SSH o una console web. Successivamente, aggiorna l’elenco dei pacchetti e aggiorna i pacchetti esistenti alle versioni più recenti eseguendo:

sudo apt-get update && sudo apt-get upgrade -y

Questo assicura che il sistema disponga di patch di sicurezza e delle versioni software più recenti prima di procedere.

Esistono due modi principali per eseguire n8n self-hosted:

  • Installazione diretta
  • Installazione in container

Nella maggior parte degli scenari è preferibile l’installazione in container, tuttavia descriveremo brevemente entrambe le soluzioni.

Installazione diretta

n8n può essere eseguito direttamente in un ambiente Node.js, quindi se non utilizzi Docker, installa l’ultima versione di Node.js con supporto a lungo termine (LTS):

  1. Installa curl e lo script di installazione di Node.js:
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
  1. Installa Node.js e npm:
sudo apt-get install -y nodejs
  1. Verifica le installazioni:
node -v

npm -v

Questi comandi restituiranno le versioni di npm e Node.js, se installate.

Installazione in container

Se preferisci eseguire n8n in un container Docker, installa prima Docker.

  1. Installa le dipendenze richieste:
sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common
  1. Aggiungi la chiave GPG ufficiale di Docker:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
  1. Aggiungi il repository di Docker e installa Docker:
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

sudo apt-get update

sudo apt-get install -y docker-ce docker-ce-cli containerd.io
  1. Verifica che Docker sia installato:
docker --version

Questo comando restituirà la versione di Docker, se installata.

2. Imposta n8n

Una volta installate tutte le dipendenze, puoi configurare n8n.

Installazione diretta

Se hai installato Node.js in precedenza, puoi installare n8n globalmente utilizzando npm:

npm install -g n8n

Avvia una sessione dello schermo chiamata n8n:

screen -S n8n

Esegui n8n all’interno della sessione dello schermo:

n8n

Per scollegarti dalla sessione dello schermo, premi CTRL+A e poi D. Se vuoi ricollegarti per interagire con n8n, esegui:

screen -R n8n

Per impostazione predefinita, n8n funziona sulla porta 5678. Ora è possibile accedervi tramite:

http://your-server-ip:5678

A questo punto potresti ricevere un errore relativo ai cookie protetti. Parleremo della creazione del certificato SSL più avanti.

Installazione in container

Estrai l’ultima immagine di Docker n8n:

docker pull n8nio/n8n

Esegui il container con la mappatura delle porte:

docker run -d --name n8n -p 5678:5678 n8nio/n8n
  • -d – Esegue il container in background.
  • –name n8n –Assegna al container il nome n8n.
  • -p 5678:5678 – Mappa la porta 5678 sul server alla porta 5678 nel container.

Per accedere a n8n nel tuo browser, apri:

http://your-server-ip:5678

Come per i passaggi di installazione sopra descritti, potresti riscontrare un errore relativo ai cookie protetti. Consulta la sezione sulla creazione del certificato SSL qui sotto.

Per impostazione predefinita, i dati all’interno di un container Docker non sono persistenti. Per garantire che i flussi di lavoro e le impostazioni vengano salvati, esegui n8n con un volume montato:

docker stop n8n && docker rm n8n #stop and remove previous n8n container

docker run -d --name n8n -p 5678:5678 -v ~/.n8n:/home/node/.n8n n8nio/n8n

Così facendo, la cartella locale ~/.n8n viene mappata nella directory dati di n8n all’interno del container.

Se il container non si avvia, potresti non avere i permessi di scrittura sul volume. Richiedi i permessi eseguendo:

sudo chown -R 1000:1000 ~/.n8n

sudo chmod -R 755 ~/.n8n

Quindi avvia il container:

docker start n8n

3. Configura n8n

Per impostazione predefinita, n8n non impone l’autenticazione, quindi chiunque acceda all’IP del server può utilizzarlo. Per proteggere l’istanza, imposta le variabili d’ambiente prima di eseguire il container.

Con l’installazione diretta, puoi utilizzare il comando export per aggiungere variabili. Nell’esempio seguente, assicurati di sostituire nome utente, password e iltuodominio.com con le credenziali scelte:

export N8N_BASIC_AUTH_ACTIVE=true

export N8N_BASIC_AUTH_USER=username

export N8N_BASIC_AUTH_PASSWORD=password

export N8N_HOST=yourdomain.com

export N8N_PORT=5678

export WEBHOOK_URL=https://yourdomain.com/

export GENERIC_TIMEZONE=UTC

Quando si esegue n8n come container Docker (installazione in container), è possibile passare queste variabili utilizzando il flag -e (anche in questo caso, aggiungere le proprie credenziali di seguito):

docker stop n8n && docker rm n8n #stop and remove previous n8n container

docker run -d --name n8n \

 -p 5678:5678 \

 -e N8N_BASIC_AUTH_ACTIVE=true \

 -e N8N_BASIC_AUTH_USER=username \

 -e N8N_BASIC_AUTH_PASSWORD=password \

 -e N8N_HOST=yourdomain.com \

 -e N8N_PORT=5678 \

 -e WEBHOOK_URL=https://yourdomain.com/ \

 -e GENERIC_TIMEZONE=UTC \

 -v ~/.n8n:/home/node/.n8n \

 n8nio/n8n

4. Abilita l’accesso sicuro

Per proteggere la tua istanza n8n e garantire connessioni crittografate, configureremo SSL (HTTPS) utilizzando Let’s Encrypt e NGINX come reverse proxy. Questo è particolarmente importante se utilizzi un dominio personalizzato.

  1. Installa NGINX e Certbot:
sudo apt update && sudo apt install nginx certbot python3-certbot-nginx -y
  1. Abilita e avvia NGINX:
sudo systemctl enable nginx

sudo systemctl start nginx
  1. Crea e apri un nuovo file di configurazione NGINX per n8n:
sudo nano /etc/nginx/sites-available/n8n
  1. Aggiungi la seguente configurazione, sostituendo iltuodominio.com con il tuo dominio effettivo:
server {

   server_name yourdomain.com;

   location / {

       proxy_pass http://localhost:5678;  # Forward requests to n8n

       proxy_set_header Host $host;

       proxy_set_header X-Real-IP $remote_addr;

       proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

       proxy_set_header X-Forwarded-Proto $scheme;

   }

   listen 80;

}

Quindi, salva ed esci digitando CTRL+X, poi Y, quindi INVIO.

  1. Abilita la configurazione:
sudo ln -s /etc/nginx/sites-available/n8n /etc/nginx/sites-enabled/
  1.  Riavvia NGINX:
sudo systemctl restart nginx
  1. Genera un certificato SSL Let’s Encrypt gratuito:
sudo certbot --nginx -d yourdomain.com
  1.  Apri crontab:
sudo certbot renew

Seleziona nano se viene richiesto di seleziona l’editor.

  1.  Aggiungi il seguente cron job:
0 2 * * * certbot renew --quiet --post-hook "systemctl restart nginx"

I certificati Let’s Encrypt scadono ogni 90 giorni per impostazione predefinita. Con questa operazione in corso, Certbot rinnoverà automaticamente il certificato.

Per confermare che n8n funzioni con HTTPS, apri il browser e inserisci il tuo dominio nel formato https://iltuodominio.com. Se visualizzi l’interfaccia di n8n senza avvisi SSL, la configurazione è andata a buon fine e n8n è ora pronto per l’uso!

Conclusioni

Congratulazioni! Hai installato correttamente n8n e ora lo stai ospitando autonomamente sul tuo server. Che tu abbia utilizzato la configurazione one-click di Hostinger o installato manualmente n8n, ora hai a portata di mano un potente strumento di automazione del flusso di lavoro.

È il momento di iniziare a creare flussi di lavoro e automatizzare le attività! Dalle semplici integrazioni n8n ai processi aziendali più complessi, n8n offre la flessibilità necessaria per connettere app, API e database senza dover scrivere tonnellate di codice.

Ricorda questi punti chiave:

  • Mantieni n8n sicuro: usa l’autenticazione, abilita HTTPS e limita l’accesso dove necessario.
  • Aggiorna regolarmente: rimani aggiornato con le ultime patch n8n e di sicurezza aggiornando periodicamente la tua installazione.
  • Fai il backup dei tuoi dati: se utilizzi Docker, assicurati di disporre di un archivio persistente in modo che i flussi di lavoro e le credenziali siano al sicuro.

Se riscontri problemi o desideri esplorare configurazioni avanzate, consulta la documentazione n8n o unisciti alla community n8n per ricevere supporto.

FAQ sull’installazione di n8n

Si può eseguire n8n in locale?

Sì, puoi eseguire n8n localmente installandolo globalmente usando npm con il comando npm install n8n -g. Dopo l’installazione, avvia n8n eseguendo n8n o n8n start.

Quale piano VPS mi serve per eseguire n8n?

Un VPS con 2 vCore e 4GB RAM dovrebbe essere sufficiente per iniziare, e il KVM2 di Hostinger sarà più che sufficiente.

Come accedo a n8n dopo averlo installato?

Dopo aver installato n8n in locale, puoi accedere alla sua interfaccia navigando su http://localhost:5678 nel tuo browser web se esegui il servizio in locale. Se utilizzi un VPS con un dominio personalizzato, usa http://iltuodominio.com:5678 o https://iltuodominio.com se hai configurato l’SSL.

Author
L'autore

Angelica Galeone

Angelica è una traduttrice freelance specializzata in contenuti per il web da sempre amante delle lingue. Laureata in design della comunicazione, lavora anche come graphic designer e punta ad approfondire ogni mezzo che possa trasmettere un messaggio. Nel tempo libero, si dedica a scoprire nuove cose, disegnare e giocare ai videogiochi. Seguila su LinkedIn.