Installare n8n in Self-Hosting: Guida Dettagliata con Docker Compose

n8n è una potente piattaforma di automazione del flusso di lavoro open-source, ideale per connettere diverse applicazioni e servizi. A differenza di soluzioni basate su cloud, l’installazione in self-hosting offre un controllo completo sui tuoi dati e sulla tua infrastruttura, oltre a potenziali risparmi sui costi a lungo termine. Questa guida ti accompagnerà attraverso il processo di installazione di n8n sul tuo server, utilizzando Docker Compose per una gestione semplificata. Esploreremo i prerequisiti, la configurazione di Docker Compose, la configurazione iniziale di n8n e le considerazioni sulla sicurezza. L’obiettivo è fornirti una guida pratica e completa per mettere in funzione n8n nel tuo ambiente.

Prerequisiti

Prima di iniziare, assicurati di avere i seguenti prerequisiti soddisfatti:

  • Un server con accesso SSH e privilegi di amministratore (es. una VPS su DigitalOcean, AWS, o un server dedicato).
  • Docker e Docker Compose installati sul server. Puoi trovare istruzioni per l’installazione qui e qui.
  • Un dominio o un sottodominio configurato per puntare all’indirizzo IP del tuo server (opzionale, ma consigliato per un accesso più semplice e per l’utilizzo di certificati SSL).
  • Conoscenza base di Docker e Docker Compose.

Verifica che Docker e Docker Compose siano installati correttamente eseguendo i seguenti comandi nel terminale:

docker --version

docker-compose --version

Creazione del File Docker Compose

Il file Docker Compose definisce i servizi che compongono l’applicazione n8n e le loro configurazioni. Crea un nuovo file chiamato docker-compose.yml nella directory desiderata sul tuo server. Ecco un esempio di configurazione:

version: "3.9"
services:
  n8n:
    image: n8n/n8n:latest
    restart: unless-stopped
    ports:
      - "5678:5678"
    volumes:
      - n8n_data:/home/node/.n8n
    environment:
      - N8N_BASIC_AUTH_ACTIVE=true
      - N8N_BASIC_AUTH_USER=tuo_username
      - N8N_BASIC_AUTH_PASSWORD=tua_password
      - N8N_HOST=yourdomain.com # Sostituisci con il tuo dominio o IP
      - N8N_PORT=5678
volumes:
  n8n_data:
YAML

Spiegazione dei parametri:

  • version: Specifica la versione del formato Docker Compose.
  • image: Definisce l’immagine Docker da utilizzare (n8n/n8n:latest).
  • restart: Imposta la politica di riavvio del container. unless-stopped riavvia il container automaticamente a meno che non venga fermato manualmente.
  • ports: Mappa la porta 5678 del container alla porta 5678 del server.
  • volumes: Monta un volume per persistere i dati di n8n. n8n_data è il nome del volume.
  • environment: Definisce le variabili d’ambiente per configurare n8n.
    • N8N_BASIC_AUTH_ACTIVE: Abilita l’autenticazione di base.
    • N8N_BASIC_AUTH_USER: Imposta il nome utente per l’autenticazione di base.
    • N8N_BASIC_AUTH_PASSWORD: Imposta la password per l’autenticazione di base.
    • N8N_HOST: Imposta l’host utilizzato da n8n.
    • N8N_PORT: Imposta la porta utilizzata da n8n.

Importante: Sostituisci tuo_username, tua_password e yourdomain.com con i tuoi valori desiderati.

Avvio di n8n con Docker Compose

Una volta creato il file docker-compose.yml, puoi avviare n8n eseguendo il seguente comando nel terminale, nella stessa directory del file:

docker-compose up -d

Questo comando scaricherà l’immagine Docker (se non è già presente), creerà i container e li avvierà in modalità detached (in background). Puoi controllare lo stato dei container con il comando:

docker-compose ps

Per visualizzare i log di n8n, puoi utilizzare il comando:

docker-compose logs -f n8n

Configurazione Iniziale e Accesso

Dopo aver avviato n8n, puoi accedere all’interfaccia web tramite il tuo browser all’indirizzo http://yourdomain.com:5678 (sostituisci yourdomain.com con il tuo dominio o indirizzo IP). Ti verrà richiesto di inserire il nome utente e la password che hai configurato nel file docker-compose.yml.

Una volta effettuato l’accesso, ti verrà chiesto di creare un account amministratore. Segui le istruzioni sullo schermo per completare la configurazione iniziale. A questo punto, potrai iniziare a creare i tuoi flussi di lavoro automatizzati.

Ecco una tabella riassuntiva dei comandi Docker Compose più utili:

ComandoDescrizione
docker-compose up -dAvvia i container in modalità detached.
docker-compose downFerma e rimuove i container, le reti e i volumi.
docker-compose psMostra lo stato dei container.
docker-compose logs -f n8nVisualizza i log del container n8n in tempo reale.
docker-compose restart n8nRiavvia il container n8n.

Considerazioni sulla Sicurezza e Manutenzione

La sicurezza è fondamentale quando si espone un’applicazione come n8n a Internet. Oltre all’autenticazione di base, considera l’utilizzo di un reverse proxy come Nginx o Apache per aggiungere un ulteriore livello di sicurezza, gestire i certificati SSL (Let’s Encrypt è un’ottima opzione gratuita) e proteggere n8n da attacchi esterni. Aggiorna regolarmente l’immagine Docker di n8n per beneficiare delle ultime correzioni di sicurezza e miglioramenti delle prestazioni. Puoi farlo eseguendo docker-compose pull n8n seguito da docker-compose up -d.

Monitora regolarmente i log di n8n per identificare eventuali problemi o anomalie. Esegui backup regolari del volume n8n_data per proteggere i tuoi dati in caso di guasti hardware o errori di configurazione. Considera l’implementazione di un sistema di monitoraggio per ricevere notifiche in caso di problemi con n8n.

In conclusione, l’installazione di n8n in self-hosting con Docker Compose è un processo relativamente semplice che offre un controllo completo sulla tua infrastruttura di automazione. Seguendo questa guida, hai imparato a configurare Docker Compose, avviare n8n, configurare l’accesso e considerare importanti aspetti di sicurezza e manutenzione. Ricorda di personalizzare la configurazione in base alle tue esigenze specifiche e di mantenere n8n aggiornato per garantire prestazioni ottimali e sicurezza. n8n è uno strumento potente e versatile che può semplificare notevolmente i tuoi flussi di lavoro, e il self-hosting ti offre la libertà di sfruttare appieno il suo potenziale.

Leave a Comment

Comments

No comments yet. Why don’t you start the discussion?

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *