Skip to main content

n8n self-hosted conforme alla DSGVO 2026: guida passo-passo con Hetzner

Gestisci n8n in modo conforme alla DSGVO su server tedeschi: configura un Hetzner Cloud CX22 in 30 minuti, con Docker Compose, TLS automatico tramite Caddy, backup giornalieri sulla Hetzner Storage Box e monitoraggio continuo, a partire da 5 EUR al mese, senza dipendere da cloud statunitensi.

Il self-hosting di n8n significa una cosa: gestisci la piattaforma open source di automazione dei workflow n8n su un tuo server, sotto il tuo pieno controllo, in un data center UE, senza che i dati dei workflow o le credenziali lascino mai un server di terze parti.

Perché ospitare n8n in proprio? DSGVO, costi e controllo dei dati

Per le imprese tedesche che fanno transitare dati personali attraverso le automazioni — contatti dei clienti, fatture, dati HR — la scelta dell'hosting non è una questione puramente tecnica. È una questione di compliance. n8n Cloud e le piattaforme SaaS concorrenti come Zapier o Make.com archiviano i dati di esecuzione dei workflow su server al di fuori della Germania, il che richiede un contratto di responsabile del trattamento ai sensi dell'art. 28 della DSGVO in presenza di dati sensibili e, in alcuni casi, può rivelarsi problematico.

Il self-hosting risolve completamente il problema: tutti i dati dei workflow, le credenziali e i log di esecuzione restano sul tuo server, nel data center tedesco di Hetzner Cloud, certificato ISO 27001 e conforme alla DSGVO secondo il diritto tedesco. Il Compendio BSI IT-Grundschutz, modulo OPS.1.1.7 (automazione dei processi operativi) raccomanda esplicitamente di gestire i processi automatizzati che trattano dati personali o rilevanti per la sicurezza sotto pieno controllo organizzativo, introducendo concetti di autorizzazione separati.

Il secondo vantaggio è di natura economica: la n8n Community Edition è priva di canoni di licenza (licenza MIT). Paghi esclusivamente il server Hetzner, a partire da 5 EUR al mese per un Hetzner CX22. Con esso puoi gestire fino a 100 workflow attivi con centinaia di esecuzioni giornaliere. A titolo di confronto, Zapier costa tra 99 e 299 USD al mese per un volume di esecuzioni equivalente.

Il controllo totale dei dati è il terzo aspetto: decidi tu per quanto tempo conservare i dati di esecuzione, quali collaboratori possono accedere alle credenziali e come strutturare backup e piani di emergenza. Ai sensi dell'art. 32 della DSGVO (sicurezza del trattamento) queste misure tecniche e organizzative sono comunque obbligatorie: il self-hosting ne rende l'attuazione più semplice e più facilmente dimostrabile.

5 EUR/mese per il server Hetzner

Costi di infrastruttura per un setup n8n pronto alla produzione (Hetzner CX22)

Quelle: Listino prezzi Hetzner Cloud 2025, 2025
30 min. di setup

Da server vuoto a istanza n8n operativa con TLS

Quelle: Dato empirico Wito AI (n=12 progetti self-hosted), 2025
92 % di conformità alla DSGVO

con il self-hosting, rispetto al 61 % di un uso del cloud non regolamentato

Quelle: Guida Bitkom all'uso del cloud conforme alla DSGVO 2024, 2024
100 % di sovranità sui dati

con il self-hosting, nessun trattamento dei dati da parte di terzi (art. 28 DSGVO)

Quelle: Art. 28 DSGVO — responsabile del trattamento, 2024

Requisiti hardware: quale server Hetzner basta?

Per la maggior parte degli ambienti delle PMI, con un massimo di 100 workflow attivi, un Hetzner CX22 (2 vCPU, 4 GB di RAM, 40 GB di SSD) è del tutto sufficiente. Questo tipo di server costa 5 EUR al mese e gestisce senza difficoltà diverse migliaia di esecuzioni di workflow al giorno, senza degrado delle prestazioni.

I requisiti minimi per n8n con backend PostgreSQL e coda Redis in modalità queue sono: 2 vCPU, 4 GB di RAM, 40 GB di SSD. Con 50-100 esecuzioni di workflow simultanee conviene passare a un Hetzner CX32 (4 vCPU, 8 GB di RAM, 80 GB di SSD, circa 10 EUR/mese). Un'istanza Redis per la modalità queue occupa circa 50-100 MB di RAM, PostgreSQL di norma 300-500 MB.

Raccomandazione sulla localizzazione del server: nbg1 (Norimberga) oppure fsn1 (Falkenstein) — entrambi i data center si trovano in Germania, sono certificati ISO 27001 e sono soggetti esclusivamente al diritto tedesco ed europeo. In fase di provisioning, evita le località statunitensi come i data center Hetzner di Ashburn (us-east), anche se sembrano più economiche: ricadono sotto il diritto statunitense e il Cloud Act.

  • Hetzner CX22 (2 vCPU / 4 GB / 40 GB): 5 EUR/mese — fino a 100 workflow, circa 5.000 esecuzioni/giorno
  • Hetzner CX32 (4 vCPU / 8 GB / 80 GB): 10 EUR/mese — fino a 300 workflow, circa 50.000 esecuzioni/giorno
  • Hetzner CCX23 (4 vCPU dedicate / 16 GB): 22 EUR/mese — per setup ad alto volume e critici per la produzione

Setup di n8n self-hosted in 6 passi: dal provisioning al monitoraggio

Schritt 1

Passo 1: provisioning del server Hetzner

Apri la console Hetzner Cloud (console.hetzner.cloud) e crea un nuovo progetto. Scegli il tipo di server CX22, l'immagine "Ubuntu 24.04 LTS" e la località "nbg1" (Norimberga, Germania). Carica la tua chiave SSH. Crea le regole del firewall: porta 22 (SSH, solo dal tuo IP), porte 80 e 443 (HTTP/HTTPS, pubbliche). Un Floating IP è opzionale per un indirizzo fisso. Durata: 5 minuti.

Schritt 2

Passo 2: installazione di Docker + Docker Compose

Connettiti al server via SSH. Installa il Docker Engine tramite lo script di installazione ufficiale di pkg.docker.com (curl -fsSL https://get.docker.com | sh). Il plugin Docker Compose è incluso da Docker 23 (docker compose al posto di docker-compose). Aggiungi l'utente al gruppo docker (usermod -aG docker $USER). Applica gli aggiornamenti di sistema (apt update && apt upgrade). Abilita il servizio Docker (systemctl enable docker). Durata: 10 minuti.

Schritt 3

Passo 3: avvio dei container n8n + PostgreSQL

Usa come modello il docker-compose.yml della documentazione ufficiale di n8n (docs.n8n.io/hosting/installation/server-setups/docker-compose/). Servizi: n8n (versione più recente), postgres:16-alpine, redis:7-alpine. Esternalizza le variabili d'ambiente in un file .env: N8N_ENCRYPTION_KEY (stringa casuale da 32 byte), DB_TYPE=postgresdb, DB_POSTGRESDB_*, QUEUE_BULL_REDIS_HOST. La porta interna di n8n è 5678, senza mapping diretto verso l'esterno (se ne occupa il reverse proxy). Durata: 10 minuti.

Schritt 4

Passo 4: TLS tramite Caddy o Traefik

Caddy è l'opzione più semplice per il TLS automatico via Let's Encrypt: basta un Caddyfile di due righe (dominio + reverse_proxy n8n:5678). In alternativa, Traefik come ulteriore servizio Docker con label sul container n8n. Imposta il record DNS del dominio n8n sull'IP del server Hetzner. Caddy o Traefik richiedono automaticamente un certificato Let's Encrypt e lo rinnovano ogni 60 giorni. Importante: senza TLS non vanno salvate credenziali reali in n8n. Durata: 10 minuti.

Schritt 5

Passo 5: configurazione dei backup (Hetzner Storage Box)

Configura una Hetzner Storage Box BX11 (1 TB, 3,81 EUR/mese) come destinazione dei backup. Cronjob giornaliero sul server: dump di PostgreSQL via pg_dump + compressione, upload via rclone o rsync sulla Hetzner Storage Box con SFTP/Samba. Esegui inoltre il backup della cartella /home/node/.n8n (che può contenere dati locali). Policy di retention: 7 giorni in giornaliero, 4 settimane in settimanale. Il BSI IT-Grundschutz OPS.1.1.7 raccomanda un RPO massimo di 24 ore per le automazioni critiche per il business. Durata: 15 minuti.

Schritt 6

Passo 6: monitoraggio + aggiornamenti automatici

Uptime Kuma (gratuito, self-hosted, anch'esso via Docker) per il monitoraggio della disponibilità: check HTTP sull'URL di n8n ogni 60 secondi, con alert via e-mail o Telegram in caso di guasto. Attiva l'error workflow nativo di n8n: a ogni workflow di produzione fallito, un messaggio Slack o un'e-mail ai responsabili. Aggiornamenti: container Watchtower per l'aggiornamento automatico delle immagini Docker, oppure uno script di update manuale (docker compose pull && docker compose up -d) ogni mese nella finestra di manutenzione. Durata: 15 minuti.

Configurazione di Docker Compose: il setup completo

La documentazione ufficiale di n8n alla pagina docs.n8n.io/hosting/installation/server-setups/docker-compose/ mette a disposizione un modello `docker-compose.yml` completo. Il setup pronto alla produzione per le PMI comprende quattro servizi: n8n (motore dei workflow), postgres (archiviazione persistente dei dati), redis (backend di coda per le esecuzioni parallele) e caddy (reverse proxy con TLS automatico).

L'elemento più critico della configurazione è la N8N_ENCRYPTION_KEY: questa chiave da 32 byte cifra tutte le credenziali salvate in n8n (chiavi API, token OAuth, password) all'interno del database PostgreSQL. Deve essere generata prima del primo avvio (`openssl rand -hex 32`), conservata in modo sicuro nel file `.env` e salvata separatamente, idealmente in un password manager come Bitwarden o 1Password. Senza questa chiave, le credenziali salvate diventano inutilizzabili dopo un cambio di server.

Per la configurazione della protezione dei dati ai sensi della DSGVO, due variabili d'ambiente di n8n sono particolarmente rilevanti: `N8N_EXECUTIONS_DATA_PRUNE=true` limita l'archiviazione dei dati di esecuzione dei workflow, mentre `N8N_EXECUTIONS_DATA_MAX_AGE=720` fissa il tempo massimo di conservazione a 30 giorni. Per i workflow con dati particolarmente sensibili (dati sanitari, dati finanziari) si consiglia inoltre `N8N_EXECUTIONS_DATA_SAVE_ON_SUCCESS=none`, in modo da non persistere le esecuzioni andate a buon fine.

Esempio di file `.env` di configurazione (campi obbligatori):

N8N_ENCRYPTION_KEY=<stringa-hex-da-32-byte> | DB_TYPE=postgresdb | DB_POSTGRESDB_HOST=postgres | DB_POSTGRESDB_DATABASE=n8n | DB_POSTGRESDB_USER=n8n | DB_POSTGRESDB_PASSWORD=<password-sicura> | QUEUE_BULL_REDIS_HOST=redis | N8N_HOST=n8n.tuo-dominio.it | N8N_PROTOCOL=https | N8N_EXECUTIONS_DATA_PRUNE=true | N8N_EXECUTIONS_DATA_MAX_AGE=720

Tutte le immagini Docker andrebbero ancorate a tag di versione espliciti (ad esempio `n8nio/n8n:1.85.0` anziché `n8nio/n8n:latest`), per evitare breaking change inattesi dovuti agli aggiornamenti automatici. La strategia di manutenzione consigliata è una finestra di aggiornamento mensile e manuale, con verifica dei backup eseguita in anticipo.

I workflow automatizzati richiedono concetti di autorizzazione separati e audit periodici. Per i sistemi che trattano in modo automatizzato dati personali o riservati, registrazione dei log, controllo degli accessi e un piano di emergenza documentato sono componenti obbligatorie del concetto di sicurezza.
Bundesamt für Sicherheit in der Informationstechnik (BSI), IT-Grundschutz Kompendium — Baustein OPS.1.1.7: Automatisierung von Betriebsprozessen, BSI — Bundesamt für Sicherheit in der Informationstechnik, 2024

TLS, backup, monitoraggio: le tre parti obbligatorie

TLS automatico tramite Caddy o Traefik

Caddy è l'opzione più semplice per chi inizia con il self-hosting: un `Caddyfile` di due righe (`n8n.tuo-dominio.it { reverse_proxy n8n:5678 }`) è sufficiente per un TLS automatico completo via Let's Encrypt. Caddy rinnova i certificati automaticamente prima della scadenza. Traefik è l'alternativa per setup più complessi con più servizi sullo stesso server, configurabile esclusivamente tramite label Docker sul container n8n. Entrambe le soluzioni sono gratuite, ampiamente diffuse e documentate nella community di n8n.

Backup giornalieri di PostgreSQL sulla Hetzner Storage Box

I dati più critici di un setup n8n sono il database PostgreSQL (definizioni dei workflow, cronologia delle esecuzioni, credenziali) e il file `.env` con la chiave di cifratura. Un cronjob giornaliero (`pg_dump | gzip | rclone copy`) salva il database sulla Hetzner Storage Box BX11 (1 TB, 3,81 EUR/mese). Retention: 7 backup giornalieri, 4 settimanali. Non lasciare mai la chiave di cifratura solo sul server: conservala sempre separatamente in un password manager.

Monitoraggio tramite Uptime Kuma

Uptime Kuma è un servizio di monitoraggio gratuito e self-hosted, eseguito in un container Docker sullo stesso server Hetzner. Check HTTP sull'URL di n8n ogni 60 secondi, con alert via e-mail, Telegram o Slack in caso di guasto. Combinato con l'error workflow nativo di n8n (messaggio Slack per i workflow di produzione falliti), si ottiene un setup di monitoraggio completo senza ulteriori costi SaaS.

Checklist di compliance prima del go-live

Prima che la prima istanza n8n con dati personali vada in produzione, tutti i punti di questa checklist dovrebbero essere soddisfatti. Si basa sui requisiti dell'art. 32 della DSGVO (misure tecniche e organizzative) e sulle raccomandazioni del BSI IT-Grundschutz OPS.1.1.7.

  • Contratto di responsabile del trattamento concluso con Hetzner — ai sensi dell'art. 28 della DSGVO (gratuito, disponibile nel Customer Center di Hetzner)
  • Chiave di cifratura n8n conservata in modo sicuro — in un password manager (Bitwarden, 1Password), non solo nel file .env sul server
  • TLS attivo e verificato — il test SSL Labs (ssllabs.com/ssltest) restituisce almeno un rating A
  • Ripristino del backup testato — almeno un ripristino eseguito manualmente, con verifica della completezza del backup
  • Cronologia delle esecuzioni limitata — N8N_EXECUTIONS_DATA_PRUNE=true, tempo di conservazione impostato a 30 giorni
  • Formazione dei collaboratori documentata — chi può accedere a n8n e chi no; gestione delle credenziali regolamentata
  • Piano di emergenza disponibile — per iscritto: cosa succede in caso di guasto del server? Quanto dura il ripristino? Chi è il responsabile?
  • Valutazione d'impatto sulla protezione dei dati verificata — per i workflow con dati particolarmente sensibili (salute, finanze, dati dei dipendenti) può essere necessaria una DPIA ai sensi dell'art. 35 della DSGVO

Domande frequenti sul setup di n8n self-hosted conforme alla DSGVO

n8n Cloud è un'opzione valida se non vuoi gestire una tua infrastruttura IT. Dal 2024 n8n Cloud dispone di data center UE a Francoforte ed è disponibile un Data Processing Agreement (DPA) conforme alla DSGVO ai sensi dell'art. 28: questo rende la variante cloud sufficiente per molte PMI. Il self-hosting è però preferibile quando: (1) i tuoi requisiti DSGVO sono particolarmente rigidi (ad esempio in sanità o nei servizi finanziari), (2) non vuoi sostenere costi cloud ricorrenti (n8n Cloud a partire da 20 EUR/mese) oppure (3) hai bisogno del massimo controllo su tempi di conservazione dei dati e diritti di accesso.
Per un massimo di 100 workflow attivi e circa 5.000 esecuzioni al giorno, un Hetzner CX22 (2 vCPU, 4 GB di RAM, 40 GB di SSD, 5 EUR/mese) è del tutto sufficiente. Con 50-300 workflow o un volume di esecuzioni più elevato consigliamo l'Hetzner CX32 (4 vCPU, 8 GB di RAM, circa 10 EUR/mese). Per setup critici per la produzione, con requisiti SLA rigorosi, sono indicati tipi di server dedicati come il CCX23. La località del server andrebbe sempre impostata sulla Germania (nbg1 o fsn1) per garantire la conformità alla DSGVO.
n8n rilascia nuove versioni con cadenza settimanale. Per le installazioni in produzione consigliamo una finestra di aggiornamento mensile: docker compose pull && docker compose up -d, dopo aver verificato i backup. Le patch di sicurezza vanno applicate tempestivamente (entro 24-72 ore). Suggerimento: iscriviti alla newsletter della community di n8n o segui il repository GitHub (github.com/n8n-io/n8n/releases) per restare informato sulle release importanti.
Costi di infrastruttura: Hetzner CX22 (5 EUR/mese) + Hetzner Storage Box BX11 per i backup (3,81 EUR/mese) + dominio (circa 1 EUR/mese) = circa 10 EUR/mese. A ciò si aggiunge l'impegno una tantum per il setup: circa 4-8 ore se eseguito in autonomia, oppure a partire da circa 1.500 EUR netti affidandolo a un fornitore di servizi per un setup completo e pronto alla produzione. A titolo di confronto: n8n Cloud per 100 workflow a partire da 50 EUR/mese; Zapier a partire da 99 USD/mese per un volume di esecuzioni equivalente.
Misure immediate in caso di violazione dei dati: (1) ferma subito l'istanza n8n (docker compose stop n8n) per interrompere ogni ulteriore trattamento. (2) Valuta la portata della violazione: quali workflow, quali dati, quale periodo? (3) Verifica l'obbligo di notifica: le violazioni con rischio per gli interessati vanno comunicate, ai sensi dell'art. 33 della DSGVO, entro 72 ore all'autorità di controllo competente (ad esempio il Garante per la protezione dei dati personali). (4) Informa gli interessati se sussiste un rischio elevato (art. 34 DSGVO). Hai un piano di emergenza scritto? Andrebbe predisposto prima del go-live.
La nomina di un responsabile della protezione dei dati è obbligatoria ai sensi dell'art. 37 della DSGVO se la tua azienda svolge come attività principale un trattamento su larga scala di dati personali (ad esempio trattamento professionale di dati, dati sanitari), oppure se impieghi stabilmente più di 20 persone in trattamenti automatizzati di dati (specificazione nazionale tedesca, BDSG §38). Per la maggior parte delle PMI che usano n8n per processi interni non è obbligatorio un DPO, ma è comunque consigliabile. Anche senza un DPO obbligatorio, raccomandiamo di effettuare prima del go-live una valutazione d'impatto sulla protezione dei dati (DPIA) per i workflow con dati sensibili.
Il setup tecnico (server, Docker, n8n) si completa in 30-60 minuti per una persona con conoscenze di base di Linux e questa guida. Più impegnativi sono: la configurazione conforme alla DSGVO (contratto di responsabile del trattamento, tempi di conservazione, concetto di autorizzazione), il setup del monitoraggio e la manutenzione continua (aggiornamenti, verifica dei backup). Wito AI offre un setup n8n gestito e completo: provisioning del server, configurazione DSGVO, monitoraggio, contratto di responsabile del trattamento e manutenzione continua, a partire da 1.500 EUR netti una tantum, con opzione di servizio gestito mensile a partire da 150 EUR.
La chiave di cifratura di n8n cifra tutte le credenziali salvate in n8n (chiavi API, password, token OAuth) nel database PostgreSQL. In caso di cambio di server, questa chiave deve essere obbligatoriamente trasferita sul nuovo server, altrimenti tutte le credenziali salvate diventano definitivamente illeggibili e tutti i workflow vanno riconfigurati. Raccomandazione: salva la chiave in un password manager (Bitwarden, 1Password) già in fase di prima configurazione e non lasciarla mai solo sul server. Nei setup gestiti da Wito AI la chiave viene custodita in un vault cifrato.

Affida a noi il setup professionale di n8n self-hosted

Wito AI configura il tuo setup n8n in modo conforme alla DSGVO su Hetzner, inclusi TLS, backup, monitoraggio e contratto di responsabile del trattamento. Setup starter a partire da 1.500 EUR netti, con documentazione di compliance e una sessione formativa introduttiva.

  • Hetzner Cloud Germania (nbg1/fsn1)
  • Conforme alla DSGVO — contratto art. 28 + art. 32
  • TLS, backup e monitoraggio inclusi
  • BSI IT-Grundschutz OPS.1.1.7 considerato