Close

Via Don Minzoni, 59 - 73025 - Martano (LE)

n8n self-hosted
AI

Guida n8n self-hosted per automazioni a costo zero

By, effelavio
  • 24 Lug, 2025
  • 4 Views
  • 0 Comment

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!