Guida passo-passo all'installazione di N8N su un Cloud Server di Aruba Cloud con accesso esterno. Questo tutorial presuppone che tu abbia già un Cloud Server (es. Ubuntu) attivo su Aruba Cloud. Utilizzeremo Docker + Docker Compose per una gestione semplice e portabile e Nginx come reverse proxy.
Requisiti
- Un Cloud Server (es. Ubuntu 22.04) su Aruba Cloud
- Accesso SSH al server
- Un dominio o sottodominio
Prima di iniziare accedi alla Cloud Management Platform. Tramite la console puoi creare un cloud server scegliendo la tecnologia che più si adatta alle tue esigenze e acquistare un IP pubblico da associare cloudserver per la pubblicazione del servizio N8N che andremo a configurare.
Connettersi al Server via SSH
ssh youruser@your-server-ip
Installare Docker e Docker Compose
Installazione di Docker:
sudo apt update
sudo apt install -y docker.io
sudo systemctl start docker
sudo systemctl enable docker
Installazione di Docker Compose:
sudo apt install -y curl
sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
Verifica se sono stati correttamente installati:
docker -v
docker-compose -v
Creare una cartella per n8n
mkdir n8n-docker && cd n8n-docker
Creare un file .env
nano .env
Inserisci le seguenti variabili (utilizza il tuo dominio o sottodominio al posto di arubacloudtutorial.cloud):
GENERIC_TIMEZONE=Europe/Rome
WEBHOOK_TUNNEL_URL=https://arubacloudtutorial.cloud
Creare il docker-compose.yml
nano docker-compose.yml
Qui di seguito un esempio del file yaml che definisce le caratteristiche di un servizio di nome N8N:
services:
n8n:
image: n8nio/n8n
restart: always
ports:
- "5678:5678"
env_file:
- .env
volumes:
- n8n_data:/home/node/.n8n
volumes:
n8n_data:
Image: Specifica l'immagine Docker da usare per il servizio. n8nio/n8n è l'immagine ufficiale di n8n disponibile su Docker Hub. Restart: questa opzione dice a Docker di riavviare automaticamente il container Ports: espone la porta 5678 del container sulla porta 5678 del server host env_file: importa le variabili di ambiente definite nel file .env che si trova nella stessa cartella del file docker-compose.yml. Volume: monta un volume persistente dal nome n8n_data nella directory del container
Configurare un Reverse Proxy con Nginx + HTTPS
Procedi con la configurazione di un reverse proxy con Nginx e Certbot per usare HTTPS.
Installazione:
sudo apt install nginx certbot python3-certbot-nginx
Configurazione nginx:
sudo nano /etc/nginx/sites-available/n8n
qui di seguito un esempio di configurazione:
server {
listen 80;
server_name arubacloudtutorial.cloud;
location / {
proxy_pass http://localhost:5678;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
Attiva il sito e riavvia nginx:
sudo ln -s /etc/nginx/sites-available/n8n /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx
Abilitare HTTPS:
Utilizzeremo Certbot per provare HTTPS in ambienti di demo. È possibile utilizzare l'opzione --staging per non consumare limiti reali nella creazione di certificati. Tuttavia non è riconosciuto dai browser (segneranno “non sicuro”). Per ambienti produttivi si consiglia di utilizzare SSL CA Actalis. Puoi trovare il vostro piano ideale a questo link: https://www.actalis.com/it/
sudo certbot --nginx -d arubacloudtutorial.cloud --register-unsafely-without-email
Avviare n8n
docker-compose up -d
Verifica che sia in esecuzione:
docker ps
✅ Accesso da Browser
Vai su:
https://yourdomain.com
Login: esegui il setup iniziale di n8n creando l'account.
Entra in n8n e crea il tuo primo Workflow.
Updating your N8N Installation
Se vuoi aggiornare l'installazione di N8N puoi procedere come segue:
sudo docker compose pull
sudo docker compose up -d
Docker scaricherà la versione aggiornata automaticamente e sostituirà i tuoi attuali containers
Rimozione certificato
In caso di necessità, questo è il comando per la rimozione del certificato
sudo certbot revoke --cert-path /etc/letsencrypt/live/demo.lucaspagnoli.cloud/fullchain.pem
Procedura di cancellazione per le compoenti installate
Fermare e rimuovere i container Docker
Assicurati di essere nella directory del progetto (es. ~/n8n-docker), quindi:
docker-compose down
Per rimuovere anche volumi e reti create da Compose:
docker-compose down -v --remove-orphans
Rimuovere i volumi Docker (storage persistente)
Trova i volumi usati da n8n:
docker volume ls
Rimuovili (attenzione: perderai tutti i dati e workflow):
docker volume rm n8n-docker_n8n_data
Se hai usato un mount tipo ./data:/home/node/.n8n:
sudo rm -rf ./data
Eliminare i file e le configurazioni locali
Cancella la cartella del progetto:
cd ..
rm -rf n8n-docker
Rimuovere nginx e relativi file
Stoppa il servizio:
sudo systemctl stop nginx
Disinstalla:
sudo apt remove --purge nginx nginx-common -y
sudo apt autoremove -y
Rimuovi configurazioni residue:
sudo rm -rf /etc/nginx /var/www/html
Procedura di cancellazione per le compoenti installate
Rimuovi Certbot:
sudo apt remove --purge certbot python3-certbot-nginx -y
sudo apt autoremove -y
Rimuovi certificati e chiavi:
sudo rm -rf /etc/letsencrypt