
Guida n8n self-hosted per automazioni a costo zero
Se hai mai cercato un’alternativa potente e gratuita per automatizzare i tuoi workflow, n8n è la soluzione ideale. In questo articolo vedremo passo passo come impostare n8n self-hosted su un server locale utilizzando Docker, DigitalOcean e Nginx come reverse proxy. Il vantaggio principale? Nessun limite al numero di workflow e la possibilità di accedere gratuitamente a tutte le feature fondamentali.
_Struttura delle cartelle
Iniziamo creando una struttura semplice e organizzata:
/opt/n8n
├── data/ # Dati persistenti di n8n
└── docker/ # Configurazione Docker e variabili ambiente
├── docker-compose.yml
└── .env
_Docker Compose
Configura il tuo file docker-compose.yml
in /opt/n8n/docker
come segue:
version: "3.7"
services:
n8n:
image: docker.n8n.io/n8nio/n8n
restart: always
ports:
- "5678:5678"
environment:
- GENERIC_TIMEZONE=${GENERIC_TIMEZONE}
- N8N_BASIC_AUTH_ACTIVE=${N8N_BASIC_AUTH_ACTIVE}
- N8N_BASIC_AUTH_USER=${N8N_BASIC_AUTH_USER}
- N8N_BASIC_AUTH_PASSWORD=${N8N_BASIC_AUTH_PASSWORD}
- N8N_HOST=${N8N_HOST}
- N8N_PROTOCOL=${N8N_PROTOCOL}
- WEBHOOK_URL=${WEBHOOK_URL}
volumes:
- /opt/n8n/data:/home/node/.n8n
_Configurazione delle variabili ambiente
Crea il file .env
nello stesso percorso con il seguente esempio:
GENERIC_TIMEZONE=Europe/Rome
N8N_BASIC_AUTH_ACTIVE=true
N8N_BASIC_AUTH_USER=admin
N8N_BASIC_AUTH_PASSWORD=la-tua-password
N8N_HOST=n8n.yourdomain.com
N8N_PROTOCOL=https
WEBHOOK_URL=https://n8n.yourdomain.com/
_Impostazione dei permessi
Prima di avviare, imposta i permessi corretti:
sudo chown -R 1000:1000 /opt/n8n/data
_Avvio di n8n
Ora sei pronto ad avviare n8n:
cd /opt/n8n/docker
docker-compose up -d
_Configurazione Nginx Reverse Proxy
Configura Nginx per puntare correttamente al tuo servizio n8n. Crea il file /etc/nginx/sites-available/n8n.yourdomain.com
:
server {
listen 80;
server_name n8n.yourdomain.com;
location / {
return 301 https://$host$request_uri;
}
}
server {
listen 443 ssl;
server_name n8n.yourdomain.com;
ssl_certificate /etc/letsencrypt/live/n8n.yourdomain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/n8n.yourdomain.com/privkey.pem;
ssl_protocols TLSv1.2 TLSv1.3;
large_client_header_buffers 4 16k;
location / {
proxy_pass <http://127.0.0.1:5678/>;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
Abilita la configurazione:
sudo ln -s /etc/nginx/sites-available/n8n.yourdomain.com /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx
_Certificato HTTPS
Installa Certbot per HTTPS gratuito:
sudo apt install -y certbot python3-certbot-nginx
sudo certbot --nginx -d n8n.yourdomain.com
Verifica il rinnovo automatico del certificato:
sudo certbot renew --dry-run
_Note operative
- Versione self-hosted: nessun limite sui workflow attivi.
- Feature avanzate disponibili gratuitamente con licenza lifetime.
- Raccomandato un backup periodico di
/opt/n8n/data
. - Aggiornamento semplice:
docker-compose pull
docker-compose up -d
_Conclusione
n8n rappresenta una soluzione completa per l’automazione dei tuoi flussi di lavoro, permettendoti di connettere facilmente strumenti come Slack, Notion, Gmail e oltre 200 app. Il setup è veloce, intuitivo e incredibilmente flessibile, adatto sia a utenti meno tecnici che a sviluppatori esperti. Automatizza report, sincronizza dati, gestisci notifiche e dimentica per sempre i task ripetitivi e manuali. Dai un vero boost ai tuoi processi con n8n e trasforma il modo in cui lavori!