{"id":82100,"date":"2026-06-18T08:00:00","date_gmt":"2026-06-18T15:00:00","guid":{"rendered":"https:\/\/dhblog2.dream.press\/blog\/?p=82100"},"modified":"2026-07-06T09:59:31","modified_gmt":"2026-07-06T16:59:31","slug":"come-eseguire-n8n-sul-tuo-proprio-server-it","status":"publish","type":"post","link":"https:\/\/www.dreamhost.com\/blog\/it\/come-eseguire-n8n-sul-tuo-proprio-server-it\/","title":{"rendered":"Come Eseguire n8n sul Tuo Proprio Server"},"content":{"rendered":"<div class=\"tldr-block\" style=\"display: none;\">\n\t<div class=\"svg\">\n\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 119.25 37.8\">\n\t<g>\n\t\t<g>\n\t\t\t<path fill=\"#ffffff\" d=\"M23.4,6.93h-8.1v24.57h-7.2V6.93H0V0h23.4v6.93Z\" \/>\n\t\t\t<path fill=\"#ffffff\" d=\"M45,24.57v6.93h-18.45V0h7.2v24.57h11.25Z\" \/>\n\t\t\t<path fill=\"#ffffff\"\n\t\t\t\td=\"M90.9,15.75c0,8.91-6.61,15.75-15.3,15.75h-12.6V0h12.6c8.68,0,15.3,6.84,15.3,15.75ZM83.97,15.75c0-5.4-3.42-8.82-8.37-8.82h-5.4v17.64h5.4c4.95,0,8.37-3.42,8.37-8.82Z\" \/>\n\t\t\t<path fill=\"#ffffff\"\n\t\t\t\td=\"M105.57,21.15h-3.42v10.35h-7.2V0h12.6c5.98,0,10.8,4.81,10.8,10.8,0,3.87-2.34,7.38-5.81,9.13l6.71,11.56h-7.74l-5.94-10.35ZM102.15,14.85h5.4c1.98,0,3.6-1.75,3.6-4.05s-1.62-4.05-3.6-4.05h-5.4v8.1Z\" \/>\n\t\t<\/g>\n\t\t<path\n\t\t\tfill=\"#0173ec\"\n\t\t\td=\"M53.97,37.8h-5.4l1.8-13.27h7.2l-3.6,13.27ZM49.02,12.55c0-2.34,1.93-4.27,4.27-4.27s4.27,1.94,4.27,4.27-1.93,4.27-4.27,4.27-4.27-1.94-4.27-4.27Z\"\n\t\t \/>\n\t<\/g>\n<\/svg>\n\t<\/div>\n\t<div class=\"tldr-wrap\">\n\t\t\n\n<p class=\"wp-block-paragraph\">n8n self-hosted \u00e8 la Community edition gratuita della piattaforma di automazione n8n eseguita su un server che controlli tu: non paghi costi di licenza n\u00e9 di esecuzione n8n per gli usi consentiti, ma sostieni comunque i costi del server e dell&#8217;eventuale dominio, dello spazio per i backup e dell&#8217;amministrazione. Il piano Starter di n8n Cloud include 2.500 esecuzioni di workflow al mese (\u20ac20\/mese, con fatturazione annuale); la Community edition self-hosted non applica alcuna quota di esecuzioni.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ti servir\u00e0 un VPS con accesso root (4 GB di RAM sono un&#8217;allocazione iniziale prudente), Docker Compose, PostgreSQL e la disponibilit\u00e0 a farti carico di aggiornamenti e backup. Questa guida illustra l&#8217;intero deployment in 11 passaggi. Preferisci saltarlo? L&#8217;Hosting VPS di DreamHost include n8n nella sua libreria di app con un clic, preinstallato con PostgreSQL e SSL automatico.<\/p>\n\n\n\t<\/div>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">Da sei mesi osservi la tua fattura di Zapier che sale.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ogni nuovo workflow aggiunge un&#8217;altra voce, e ogni passaggio d&#8217;azione riuscito conta come un task. La fattura mensile ora costa pi\u00f9 del tuo strumento di gestione dei progetti.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Inizi a cercare alternative su Google e ti imbatti in <strong>n8n<\/strong>, una piattaforma di automazione che puoi ospitare autonomamente sul tuo server privato virtuale (VPS) al prezzo di un piccolo server.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Nessuna quota di esecuzioni. Nessun prezzo per task. Nessuna bolletta a sorpresa quando le tue automazioni decollano.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">E s\u00ec, ti guidiamo in tutto il processo, comando per comando, da un server Ubuntu vuoto fino a un&#8217;istanza funzionante con HTTPS, backup e un ripristino testato.<\/p>\n\n\n\n<h2 id=\"h-what-is-n8n-and-why-are-people-self-hosting-it\" class=\"wp-block-heading\">Cos&#8217;\u00e8 n8n e Perch\u00e9 Le Persone Lo Ospitano in Autonomia?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">n8n \u00e8 una piattaforma di automazione dei flussi di lavoro che ti permette di collegare app, spostare dati tra servizi e creare automazioni complesse tramite un editor visuale. Pensala come il motore dietro &#8220;quando accade X, fai Y e Z&#8221;, solo che trascini nodi e disegni connessioni invece di scrivere codice.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1600\" height=\"1310\" data-src=\"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/01_an_n8n_workflow.webp\" alt=\"Diagramma di workflow che mostra l'invio di un modulo da parte di un utente che attiva un agente IA per verificare lo stato del responsabile\" class=\"wp-image-81963 lazyload\" data-srcset=\"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/01_an_n8n_workflow.webp 1600w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/01_an_n8n_workflow-300x246.webp 300w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/01_an_n8n_workflow-1024x838.webp 1024w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/01_an_n8n_workflow-768x629.webp 768w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/01_an_n8n_workflow-1536x1258.webp 1536w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/01_an_n8n_workflow-600x491.webp 600w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/01_an_n8n_workflow-1200x983.webp 1200w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/01_an_n8n_workflow-730x598.webp 730w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/01_an_n8n_workflow-1460x1195.webp 1460w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/01_an_n8n_workflow-784x642.webp 784w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/01_an_n8n_workflow-1568x1284.webp 1568w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/01_an_n8n_workflow-877x718.webp 877w\" data-sizes=\"(max-width: 1600px) 100vw, 1600px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1600px; --smush-placeholder-aspect-ratio: 1600\/1310;\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Il progetto ha superato le <a target=\"_blank\" href=\"https:\/\/github.com\/n8n-io\/n8n\">200.000 stelle su GitHub<\/a> e la sua immagine Docker ufficiale conta oltre <a target=\"_blank\" href=\"https:\/\/hub.docker.com\/r\/n8nio\/n8n\">100 milioni di pull<\/a>. Sono tanti i server che eseguono n8n.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La piattaforma \u00e8 distribuita con una <a target=\"_blank\" href=\"https:\/\/docs.n8n.io\/privacy-and-security\/sustainable-use-license\">Sustainable Use License<\/a>, che vale la pena comprendere prima di impegnarti. Non \u00e8 open source tradizionale (n8n stesso dice di non usare questo termine, perch\u00e9 le licenze approvate dall&#8217;OSI non possono limitarne l&#8217;uso), ma non \u00e8 nemmeno blindata. Puoi eseguirla liberamente per gli scopi interni della tua azienda. Non puoi vendere un prodotto, un servizio o un modulo il cui valore derivi interamente o in modo sostanziale dalle funzionalit\u00e0 di n8n.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">&#8220;In pratica, ci\u00f2 significa che ogni uso \u00e8 consentito, a meno che tu non venda un prodotto, un servizio o un modulo il cui valore derivi interamente o in modo sostanziale dalle funzionalit\u00e0 di n8n.&#8221; \u2014 <a target=\"_blank\" href=\"https:\/\/docs.n8n.io\/privacy-and-security\/sustainable-use-license\">FAQ sulla licenza di n8n<\/a><\/p>\n<\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\">Le persone <a target=\"_blank\" href=\"https:\/\/www.dreamhost.com\/blog\/self-hosting\/\">ospitano autonomamente<\/a> n8n perch\u00e9 i conti si ribaltano una volta superato l&#8217;uso di base. <a target=\"_blank\" href=\"https:\/\/n8n.io\/pricing\/\">n8n Cloud<\/a> parte da \u20ac20\/mese (con fatturazione annuale) per 2.500 esecuzioni sul piano Starter, e se gestisci volumi reali questi limiti si fanno sentire in fretta.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Sul tuo VPS? Nessuna quota di esecuzioni, controllo sui dati archiviati dalla tua istanza n8n e nessuna fattura di licenza o di esecuzione n8n, anche se server, dominio, spazio per i backup e amministrazione hanno comunque un costo. Le esecuzioni in s\u00e9 non costano nulla in pi\u00f9; volumi pi\u00f9 elevati consumano pi\u00f9 memoria e storage, ma \u00e8 una questione di dimensionamento (trattata pi\u00f9 avanti), non di fatturazione.<\/p>\n\n\n\n<h3 id=\"h-what-can-you-automate-with-n8n\" class=\"wp-block-heading\">Cosa Puoi Automatizzare Con n8n?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Le oltre 400 integrazioni di n8n coprono un&#8217;ampia gamma, e i nodi creati dalla community allungano ulteriormente l&#8217;elenco. n8n \u00e8 anche una delle tante alternative self-hosted agli strumenti SaaS; la stessa logica vale per tutto, dal CRM alla gestione dei progetti.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Alcune configurazioni comuni:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>CRM e routing dei lead.<\/strong> Sincronizza i contatti tra il tuo CRM, la piattaforma email e Slack quando arrivano nuovi lead.<\/li>\n\n\n\n<li><strong>Workflow attivati da webhook.<\/strong> Rispondi in tempo reale agli eventi provenienti da processori di pagamento, invii di moduli o commit su GitHub.<\/li>\n\n\n\n<li><strong>Automazione delle pipeline di dati.<\/strong> Estrai dati dalle API, trasformali e inviali a database o fogli di calcolo secondo una pianificazione.<\/li>\n\n\n\n<li><strong>Catene di agenti IA.<\/strong> Collega gli LLM ai tuoi strumenti interni per creare assistenti IA personalizzati in grado di cercare, riassumere e agire sui tuoi dati.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">(\u00c8 con quest&#8217;ultimo caso che le risorse del server iniziano a contare. Maggiori dettagli nella sezione sulle specifiche.)<\/p>\n\n\n\n<div class=\"article-newsletter article-newsletter--gradient\">\n\n\n<h2>Get Content Delivered Straight to Your Inbox<\/h2><p>Subscribe now to receive all the latest updates, delivered directly to your inbox.<\/p><form class=\"nwsl-form\" id=\"newsletter_block_\" novalidate><div class=\"messages\"><\/div><div class=\"form-group\"><label for=\"input_newsletter_block_\"><input type=\"email\"name=\"email\"id=\"input_newsletter_block_\"placeholder=\"Enter your email address\"novalidatedisabled=\"disabled\"\/><\/label><button type=\"submit\"class=\"btn btn--brand\"disabled=\"disabled\"><span>Sign Me Up!<\/span><svg width=\"21\" height=\"14\" viewBox=\"0 0 21 14\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n<path d=\"M13.8523 0.42524L12.9323 1.34521C12.7095 1.56801 12.7132 1.9304 12.9404 2.14865L16.7241 5.7823H0.5625C0.251859 5.7823 0 6.03416 0 6.3448V7.6573C0 7.96794 0.251859 8.2198 0.5625 8.2198H16.7241L12.9405 11.8535C12.7132 12.0717 12.7095 12.4341 12.9323 12.6569L13.8523 13.5769C14.072 13.7965 14.4281 13.7965 14.6478 13.5769L20.8259 7.39879C21.0456 7.17913 21.0456 6.82298 20.8259 6.60327L14.6477 0.42524C14.4281 0.205584 14.0719 0.205584 13.8523 0.42524Z\" fill=\"white\"\/>\n<\/svg>\n<\/button><\/div><\/form><\/div>\n\n\n<h2 id=\"h-how-much-does-self-hosting-n8n-cost\" class=\"wp-block-heading\">Quanto Costa il Self-Hosting di n8n?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">La Community edition self-hosted non prevede costi di licenza n\u00e9 di esecuzione n8n per gli usi consentiti. Il costo totale comprende il server pi\u00f9 l&#8217;eventuale dominio, lo spazio per i backup e il tempo di amministrazione. <a target=\"_blank\" href=\"https:\/\/expresstech.io\/the-real-cost-of-self-hosting-n8n-in-2026\/\">L&#8217;analisi dei costi 2026 di ExpressTech<\/a> stima un VPS base con Docker a <strong>$4\u20135 al mese<\/strong>, un VPS gestito con Coolify a $5\u20138 e le piattaforme n8n gestite con un clic a $3\u20137.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Queste sono le stime di hosting di terze parti di ExpressTech. Per un dato di prima mano: il piano che consigliamo pi\u00f9 avanti, DreamHost VPS Hosting Stack 4, ad agosto 2026 costa $8,99\/mese per i primi 3 mesi con fatturazione mensile e si rinnova automaticamente a $15,99\/mese dopo tale periodo, con l&#8217;intero periodo pi\u00f9 le tasse addebitati al checkout (i prezzi attuali sono nella <a href=\"https:\/\/www.dreamhost.com\/it\/hosting\/vps\/n8n\/\">pagina VPS per n8n<\/a>).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Confrontalo con i piani in hosting e con licenza di n8n, come riportati nella <a target=\"_blank\" href=\"https:\/\/n8n.io\/pricing\/\">pagina dei prezzi di n8n<\/a>. n8n indica i prezzi in euro, e queste sono le tariffe con fatturazione annuale:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td><strong>Piano<\/strong><\/td><td><strong>Costo mensile<\/strong><\/td><td><strong>Limite di esecuzioni<\/strong><\/td><\/tr><tr><td>n8n Cloud Starter<\/td><td>\u20ac20\/mese<\/td><td>2.500 esecuzioni<\/td><\/tr><tr><td>n8n Cloud Pro<\/td><td>\u20ac50\/mese<\/td><td>10.000 esecuzioni<\/td><\/tr><tr><td>n8n Business (licenza self-hosted)<\/td><td>\u20ac667\/mese<\/td><td>40.000 esecuzioni<\/td><\/tr><tr><td>Community edition self-hosted su un VPS<\/td><td>Nessun costo di licenza o di esecuzione n8n per gli usi consentiti; possono applicarsi costi di VPS, dominio, spazio per i backup e amministrazione<\/td><td>Nessuna quota<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Il divario si allarga se consideri come ciascuna piattaforma conteggia l&#8217;utilizzo. n8n conteggia un&#8217;esecuzione per ogni avvio del workflow, &#8220;indipendentemente dalla complessit\u00e0&#8221;, e ogni piano include passaggi illimitati. Zapier, invece, conteggia <a target=\"_blank\" href=\"https:\/\/help.zapier.com\/hc\/en-us\/articles\/8496196837261-How-is-task-usage-measured-in-Zapier\">ogni passaggio d&#8217;azione riuscito come un task<\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Quindi un workflow con quattro passaggi d&#8217;azione eseguito 100 volte al giorno corrisponde a 3.000 esecuzioni n8n al mese, ma a circa 12.000 task Zapier.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">I numeri reali lo confermano. <a target=\"_blank\" href=\"https:\/\/expresstech.io\/the-real-cost-of-self-hosting-n8n-in-2026\/\">L&#8217;analisi di ExpressTech<\/a> esamina l&#8217;esempio di quattro workflow per un totale di circa 7.000 esecuzioni al mese: un carico che supera n8n Cloud Starter e richiede il livello Pro (indicato l\u00ec a $60\/mese con fatturazione mensile), mentre una configurazione self-hosted da $3\u20137\/mese lo gestisce senza limiti, una differenza che stimano in <strong>$636\u2013684 all&#8217;anno<\/strong>.<\/p>\n\n\n\n<h3 id=\"h-the-hidden-costs-of-self-hosting\" class=\"wp-block-heading\">I Costi Nascosti del Self-Hosting<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">I risparmi in dollari sono reali. Ma il self-hosting non \u00e8 gratuito in ogni senso.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ecco cosa ti costa:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Il tuo tempo. <\/strong>Il tempo di manutenzione varia in base al carico di lavoro e alla tua esperienza operativa, ma sarai responsabile di aggiornamenti, backup, monitoraggio e test di ripristino. Le configurazioni pi\u00f9 pesanti con automazioni basate sull&#8217;IA richiederanno di pi\u00f9.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Attriti nella configurazione OAuth.<\/strong> Collegare servizi come Google Workspace o Microsoft 365 richiede la configurazione di credenziali OAuth. Prevedi tempo di configurazione aggiuntivo per ogni provider e segui la documentazione della sua console. (Se hai mai fissato uno spinner di caricamento mentre una schermata di consenso decide se fidarsi della tua app, conosci la sensazione.)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Un TLS di cui fidarsi, ma da verificare.<\/strong> Il proxy Caddy della configurazione qui sotto ottiene e rinnova automaticamente un certificato attendibile pubblicamente, usando un&#8217;autorit\u00e0 emittente come Let&#8217;s Encrypt o ZeroSSL. Automatico non significa infallibile: dopo modifiche al DNS o al proxy, verifica che il certificato si rinnovi ancora.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Curva di apprendimento se sei alle prime armi con i server.<\/strong> La guida qui sotto presuppone che tu sappia accedere a un server via SSH, modificare un file ed eseguire comandi. Se non l&#8217;hai mai fatto, metti in conto del tempo per imparare oltre al deployment vero e proprio.<\/p>\n\n\n\n<h2 id=\"h-what-server-specs-does-n8n-need\" class=\"wp-block-heading\">Di Quali Specifiche Server Ha Bisogno n8n?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">n8n di per s\u00e9 \u00e8 leggero. Quanto di pi\u00f9 vicino a un dimensionamento ufficiale sono i <a target=\"_blank\" href=\"https:\/\/docs.n8n.io\/deploy\/host-n8n\/deploy-as-an-oem-integration\/prerequisites\">valori di esempio nella documentazione sul deployment OEM di n8n<\/a>, che n8n definisce &#8220;solo a scopo illustrativo&#8221;, basati su n8n Cloud: un intervallo di memoria da 320 MB a 2 GB, un database su SSD da 512 MB a 4 GB e circa 100 MB di memoria per un&#8217;istanza inattiva. Come allocazione iniziale prudente, e non come minimo ufficiale di n8n, considera 2 GB per i test e 4 GB quando aggiungi PostgreSQL e workflow di produzione. Monitora workflow rappresentativi e aggiungi memoria quando la pressione diventa costante.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ricorda inoltre che n8n di solito \u00e8 limitato pi\u00f9 dalla memoria che dalla CPU. La documentazione di n8n lo dice chiaramente: la piattaforma &#8220;non \u00e8 CPU intensive&#8221; e &#8220;di solito, i requisiti di memoria prevalgono su quelli di CPU&#8221;. A far salire la memoria sono i tuoi workflow: il volume di dati, i nodi Code (che copiano i dati prima e dopo l&#8217;elaborazione) e i file binari di grandi dimensioni.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ecco il nostro rapido calcolo a spanne per dimensionare il margine:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Dimensiona in base alla concorrenza delle esecuzioni e al volume di dati che ogni workflow elabora, poi monitora l&#8217;uso della memoria con un carico di lavoro rappresentativo. I nodi Code e i payload binari di grandi dimensioni possono aumentare i requisiti di memoria, quindi lascia un margine e scala il VPS quando il monitoraggio mostra una pressione costante.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"1652\" height=\"952\" data-src=\"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/08\/n8n-self-hosted-ram-guidance-dreamops-7ea8b9d45b496e7bffc6e1b6.webp\" alt=\"Grafico con le indicazioni sulla RAM per il self-hosting di n8n: circa 100 MB a riposo secondo l'esempio indicativo di n8n, 2 GB come allocazione iniziale prudente per i test, 4 GB per la produzione con PostgreSQL e 8 GB per un margine aggiuntivo\" class=\"wp-image-88705 lazyload\" data-srcset=\"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/08\/n8n-self-hosted-ram-guidance-dreamops-7ea8b9d45b496e7bffc6e1b6.webp 1652w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/08\/n8n-self-hosted-ram-guidance-dreamops-7ea8b9d45b496e7bffc6e1b6-300x173.webp 300w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/08\/n8n-self-hosted-ram-guidance-dreamops-7ea8b9d45b496e7bffc6e1b6-1024x590.webp 1024w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/08\/n8n-self-hosted-ram-guidance-dreamops-7ea8b9d45b496e7bffc6e1b6-768x443.webp 768w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/08\/n8n-self-hosted-ram-guidance-dreamops-7ea8b9d45b496e7bffc6e1b6-1536x885.webp 1536w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/08\/n8n-self-hosted-ram-guidance-dreamops-7ea8b9d45b496e7bffc6e1b6-600x346.webp 600w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/08\/n8n-self-hosted-ram-guidance-dreamops-7ea8b9d45b496e7bffc6e1b6-1200x692.webp 1200w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/08\/n8n-self-hosted-ram-guidance-dreamops-7ea8b9d45b496e7bffc6e1b6-730x421.webp 730w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/08\/n8n-self-hosted-ram-guidance-dreamops-7ea8b9d45b496e7bffc6e1b6-1460x841.webp 1460w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/08\/n8n-self-hosted-ram-guidance-dreamops-7ea8b9d45b496e7bffc6e1b6-784x452.webp 784w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/08\/n8n-self-hosted-ram-guidance-dreamops-7ea8b9d45b496e7bffc6e1b6-1568x904.webp 1568w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/08\/n8n-self-hosted-ram-guidance-dreamops-7ea8b9d45b496e7bffc6e1b6-877x505.webp 877w\" data-sizes=\"(max-width: 1652px) 100vw, 1652px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1652px; --smush-placeholder-aspect-ratio: 1652\/952;\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Sei alle prime armi con l&#8217;hosting VPS? Inizia con la <a target=\"_blank\" href=\"https:\/\/www.dreamhost.com\/blog\/beginners-guide-vps\/\">guida per principianti al VPS<\/a> di DreamHost per comprendere le basi prima di dimensionare il tuo server.<\/p>\n\n\n\n<h2 id=\"h-which-vps-should-you-choose-for-self-hosted-n8n\" class=\"wp-block-heading\">Quale VPS Scegliere per n8n Self-Hosted?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">n8n non pubblica livelli di RAM fissi in base al carico di lavoro. Dimensiona in base alla concorrenza delle esecuzioni e al volume di dati, lascia margine per Docker e PostgreSQL, poi monitora workflow rappresentativi e scala quando la pressione sulla memoria \u00e8 costante.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ecco quindi come lo tradurremmo nei piani DreamHost:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td><strong>Piano<\/strong><\/td><td><strong>Specifiche<\/strong><\/td><td><strong>Quando sceglierlo<\/strong><\/td><\/tr><tr><td>DreamHost VPS Hosting Stack 4<\/td><td>4 GB di RAM, 2 vCPU, 75 GB SSD NVMe<\/td><td>Un&#8217;allocazione iniziale di 4 GB, non verificata con benchmark ma prudente, per un primo server n8n.<\/td><\/tr><tr><td>DreamHost VPS Hosting Stack 8<\/td><td>8 GB di RAM, 2 vCPU, 150 GB SSD NVMe<\/td><td>L&#8217;opzione da 8 GB per un margine di memoria aggiuntivo quando il monitoraggio mostra una pressione costante, con il doppio di RAM e storage.<\/td><\/tr><tr><td>DreamHost VPS Hosting Stack 16<\/td><td>16 GB di RAM, 4 vCPU, 250 GB SSD NVMe<\/td><td>L&#8217;opzione da 16 GB per maggiore concorrenza, volumi di dati pi\u00f9 grandi o l&#8217;aggiunta di worker Redis in modalit\u00e0 coda.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Alcune specifiche a cui prestare attenzione oltre alla RAM: n8n indica lo storage SSD come best practice per il database. Di solito i requisiti di memoria superano quelli di CPU, ma il vero collo di bottiglia dipende dalla concorrenza dei workflow, dal volume di dati e dai nodi che usi. La larghezza di banda illimitata \u00e8 importante se gestisci carichi di lavoro ricchi di webhook con un flusso costante di richieste HTTP in arrivo.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Scegli un ambiente di hosting che ti permetta di eseguire Docker e di configurare database, rete, storage persistente e reverse proxy. L&#8217;<a target=\"_blank\" href=\"https:\/\/www.dreamhost.com\/blog\/shared-vs-vps-hosting\/\">hosting condiviso<\/a> tradizionale in genere non offre quel livello di controllo.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">I piani di <a target=\"_blank\" href=\"https:\/\/www.dreamhost.com\/it\/hosting\/vps\/\">Hosting VPS<\/a> di DreamHost soddisfano i requisiti essenziali (storage SSD NVMe, larghezza di banda illimitata, accesso root completo e supporto per Docker), e <a href=\"https:\/\/www.dreamhost.com\/it\/hosting\/vps\/n8n\/\">n8n \u00e8 nella libreria di app con un clic<\/a>, preinstallato con PostgreSQL e SSL automatico se preferisci saltare la configurazione manuale qui sotto.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La nostra scelta per un primo server n8n \u00e8 Stack 4. Ad agosto 2026 costa $8,99\/mese per i primi 3 mesi con fatturazione mensile e si rinnova automaticamente a $15,99\/mese, con l&#8217;intero periodo pi\u00f9 le tasse addebitati al checkout; la <a href=\"https:\/\/www.dreamhost.com\/it\/hosting\/vps\/n8n\/\">pagina VPS per n8n<\/a> mostra sempre le tariffe attuali. Quel prezzo di rinnovo \u00e8 il numero onesto da confrontare con i \u20ac20\/mese di n8n Cloud Starter.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ah, e una cosa da tenere a mente per dopo: <strong>man mano che il tuo utilizzo cresce, n8n supporta la modalit\u00e0 coda<\/strong>, un&#8217;architettura di scalabilit\u00e0 che separa l&#8217;istanza principale (UI, trigger, webhook) dall&#8217;esecuzione dei workflow, usando Redis come message broker e istanze worker per eseguire i job. <a target=\"_blank\" href=\"https:\/\/docs.n8n.io\/deploy\/host-n8n\/configure-n8n\/scaling\/enable-queue-mode\">La documentazione di n8n<\/a> la definisce la modalit\u00e0 che &#8220;offre la migliore scalabilit\u00e0&#8221;.<\/p>\n\n\n\n<h2 id=\"h-how-do-you-set-up-n8n-on-a-vps\" class=\"wp-block-heading\">Come Configuri n8n Su Un VPS?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Il deployment di un&#8217;istanza n8n self-hosted richiede 11 passaggi: DNS, protezione di SSH, un firewall, <a target=\"_blank\" href=\"https:\/\/www.dreamhost.com\/blog\/what-is-docker\/\">Docker<\/a>, segreti, un file Compose per lo stack a tre container (n8n, PostgreSQL e Caddy), il Caddyfile, avvio e verifica, aggiornamenti, backup e un test di ripristino. Caddy \u00e8 il nostro reverse proxy: il server che si posiziona tra internet e la tua applicazione, gestendo TLS e routing. Includiamo i comandi per il deployment principale e per un test manuale di backup e ripristino.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1600\" height=\"1200\" data-src=\"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/03_how_do_you_set_up_n8n_on_a_vps_.webp\" alt=\"Diagramma dell'architettura di un'installazione n8n self-hosted con database e app n8n\" class=\"wp-image-81965 lazyload\" data-srcset=\"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/03_how_do_you_set_up_n8n_on_a_vps_.webp 1600w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/03_how_do_you_set_up_n8n_on_a_vps_-300x225.webp 300w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/03_how_do_you_set_up_n8n_on_a_vps_-1024x768.webp 1024w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/03_how_do_you_set_up_n8n_on_a_vps_-768x576.webp 768w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/03_how_do_you_set_up_n8n_on_a_vps_-1536x1152.webp 1536w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/03_how_do_you_set_up_n8n_on_a_vps_-600x450.webp 600w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/03_how_do_you_set_up_n8n_on_a_vps_-1200x900.webp 1200w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/03_how_do_you_set_up_n8n_on_a_vps_-730x548.webp 730w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/03_how_do_you_set_up_n8n_on_a_vps_-1460x1095.webp 1460w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/03_how_do_you_set_up_n8n_on_a_vps_-784x588.webp 784w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/03_how_do_you_set_up_n8n_on_a_vps_-1568x1176.webp 1568w, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/03_how_do_you_set_up_n8n_on_a_vps_-877x658.webp 877w\" data-sizes=\"(max-width: 1600px) 100vw, 1600px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1600px; --smush-placeholder-aspect-ratio: 1600\/1200;\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">I comandi sono pensati per Ubuntu 22.04 o pi\u00f9 recente, ma sostituisci il dominio di esempio, i valori segreti, il nome del volume e i nomi dei file di backup datati dove indicato. La <a target=\"_blank\" href=\"https:\/\/docs.n8n.io\/deploy\/host-n8n\/install-options\/use-a-cloud-provider\/use-docker-compose\">documentazione di n8n su Docker Compose<\/a> copre gli stessi argomenti con un proxy Traefik, se preferisci seguire il modello di n8n.<\/p>\n\n\n\n<h3 id=\"h-what-you-will-need-before-you-start\" class=\"wp-block-heading\">Cosa Ti Servir\u00e0 Prima Di Iniziare<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Un VPS con accesso root<\/strong> con Ubuntu 22.04 o pi\u00f9 recente e almeno 2 GB di RAM (4 GB \u00e8 la nostra raccomandazione prudente per la produzione)<\/li>\n\n\n\n<li><strong>Un nome di dominio<\/strong> che puoi puntare all&#8217;indirizzo IP del tuo server (per il TLS e per accedere all&#8217;editor di n8n)<\/li>\n\n\n\n<li><strong>Dimestichezza di base con il terminale <\/strong>: dovresti sapere come accedere a un server via SSH, modificare un file ed eseguire comandi<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Un altro prerequisito che non compare in nessun elenco ufficiale: <strong>fai il backup della tua <code>N8N_ENCRYPTION_KEY<\/code> nel momento stesso in cui la generi.<\/strong> Per questo il passaggio 5 ti fa creare la chiave con <code>openssl rand -hex 32<\/code> prima del primo avvio, invece di lasciare che n8n ne generi una in silenzio. Questa chiave cripta tutte le credenziali memorizzate, incluse ogni chiave API, token OAuth e password di database che hai collegato. La <a target=\"_blank\" href=\"https:\/\/hub.docker.com\/r\/n8nio\/n8n\">documentazione Docker di n8n<\/a> avverte che, se la chiave non viene trovata all&#8217;avvio, n8n ne crea una nuova e le credenziali esistenti non possono pi\u00f9 essere decifrate: in pratica dovrai ricostruire ogni singola integrazione da zero (e rimpiangere le tue scelte di vita). Copiala in un posto sicuro, separato dai backup del database.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Se il tuo provider ti ha fornito solo un accesso root, crea prima un utente per il deployment, dalla console del provider o da una sessione SSH come root, prima dei comandi SSH locali del passaggio 2:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>adduser deploy\nusermod -aG sudo deploy<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Tutto ci\u00f2 che segue viene eseguito con quell&#8217;utente, usando <code>sudo<\/code> dove serve.<\/p>\n\n\n\n<h3 id=\"h-step-1-point-your-domain-at-the-server\" class=\"wp-block-heading\">Passaggio 1: Punta il tuo dominio al server<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Crea un record DNS A per un sottodominio dedicato (<code>n8n.example.com<\/code> in tutta questa guida) che punti all&#8217;indirizzo IP del tuo server, esattamente come descritto nella <a target=\"_blank\" href=\"https:\/\/docs.n8n.io\/deploy\/host-n8n\/install-options\/use-a-cloud-provider\/use-docker-compose\">guida di n8n su Docker Compose<\/a>. Fallo per primo: se il DNS non si \u00e8 propagato, Caddy non pu\u00f2 ottenere un certificato e il browser potrebbe mostrare un errore di sicurezza invece dell&#8217;editor di n8n.<\/p>\n\n\n\n<h3 id=\"h-step-2-harden-ssh-access\" class=\"wp-block-heading\">Passaggio 2: Proteggi l&#8217;accesso SSH<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Sul tuo computer <em>locale<\/em>, genera una coppia di chiavi (la <a target=\"_blank\" href=\"https:\/\/ubuntu.com\/server\/docs\/how-to\/security\/openssh-server\/\">documentazione OpenSSH di Ubuntu<\/a> consiglia ed25519) e copiala sul server:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>ssh-keygen -t ed25519\nssh-copy-id deploy@your_server_ip<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Verifica di riuscire ad accedere con la chiave. Poi, sul server, disattiva gli accessi con password e come root, e controlla cosa applicher\u00e0 effettivamente sshd:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo tee \/etc\/ssh\/sshd_config.d\/00-hardening.conf &gt; \/dev\/null &lt;&lt;'EOF'\nPasswordAuthentication no\nPermitRootLogin no\nEOF\nsudo sshd -t\nsudo sshd -T | grep -E '^(passwordauthentication|permitrootlogin) '<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Il prefisso <code>00-<\/code> \u00e8 voluto. OpenSSH usa il <em>primo<\/em> valore che legge per ogni parola chiave, secondo il <a target=\"_blank\" href=\"https:\/\/man.openbsd.org\/sshd_config\">manuale di sshd_config<\/a>, e le immagini dei server cloud includono spesso drop-in precedenti nella stessa directory (cloud-init, per esempio, scrive le sue impostazioni SSH in <code>50-cloud-init.conf<\/code>). Se chiami il tuo file <code>99-hardening.conf<\/code>, uno di quei frammenti pu\u00f2 prevalere senza che tu te ne accorga. <code>sshd -t<\/code> controlla che la configurazione non contenga errori; <code>sshd -T<\/code> stampa le impostazioni effettive dopo l&#8217;unione di tutti i file. Verifica che l&#8217;ultimo comando stampi <code>passwordauthentication no<\/code> e <code>permitrootlogin no<\/code> prima di andare avanti. Poi riavvia sshd:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo systemctl restart ssh.service<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">La documentazione di Ubuntu avverte che una configurazione errata di sshd su un server remoto pu\u00f2 chiuderti fuori. Tieni aperta la sessione attuale e prova un nuovo accesso in un secondo terminale prima di chiudere qualsiasi cosa.<\/p>\n\n\n\n<h3 id=\"h-step-3-turn-on-the-firewall\" class=\"wp-block-heading\">Passaggio 3: Attiva il firewall<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Ubuntu include UFW (Uncomplicated Firewall) disattivato per impostazione predefinita. Consenti SSH <em>prima<\/em> di attivarlo, cos\u00ec il firewall non pu\u00f2 interrompere la tua stessa sessione:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo ufw allow 22\/tcp\nsudo ufw allow 80\/tcp\nsudo ufw allow 443\/tcp\nsudo ufw --force enable\nsudo ufw status<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Tre porte, nient&#8217;altro. Un avvertimento specifico di Docker dalla <a target=\"_blank\" href=\"https:\/\/docs.docker.com\/engine\/install\/ubuntu\/\">documentazione di installazione di Docker<\/a>: le porte che Docker pubblica sull&#8217;host aggirano completamente le regole di UFW. Ecco perch\u00e9 il file Compose del passaggio 6 pubblica porte sull&#8217;host solo per Caddy: 80 e 443 sono le uniche porte dei container pubblicate da Compose (anche SSH sulla 22 \u00e8 aperta), mentre n8n e PostgreSQL non hanno alcuna porta pubblicata sull&#8217;host.<\/p>\n\n\n\n<h3 id=\"h-step-4-install-docker-and-docker-compose\" class=\"wp-block-heading\">Passaggio 4: Installa Docker e Docker Compose<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Installa Docker Engine dal repository apt ufficiale di Docker, non con lo script di comodo <code>get.docker.com<\/code>, che la documentazione di Docker consiglia solo per test e sviluppo. Prima i prerequisiti e la chiave di firma di Docker:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo apt update\nsudo apt install ca-certificates curl\nsudo install -m 0755 -d \/etc\/apt\/keyrings\nsudo curl -fsSL https:\/\/download.docker.com\/linux\/ubuntu\/gpg -o \/etc\/apt\/keyrings\/docker.asc\nsudo chmod a+r \/etc\/apt\/keyrings\/docker.asc<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Poi registra il repository vero e proprio. Questo comando scrive il file del repository tratto dalla <a target=\"_blank\" href=\"https:\/\/docs.docker.com\/engine\/install\/ubuntu\/\">guida di installazione di Docker per Ubuntu<\/a>, inserendo automaticamente la tua release di Ubuntu:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo tee \/etc\/apt\/sources.list.d\/docker.sources &gt; \/dev\/null &lt;&lt;EOF\nTypes: deb\nURIs: https:\/\/download.docker.com\/linux\/ubuntu\nSuites: $(. \/etc\/os-release &amp;&amp; echo \"${UBUNTU_CODENAME:-$VERSION_CODENAME}\")\nComponents: stable\nSigned-By: \/etc\/apt\/keyrings\/docker.asc\nEOF<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Poi installa e verifica:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo apt update\nsudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin\nsudo docker run hello-world<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Se <code>hello-world<\/code> stampa il suo messaggio di conferma, Docker e il plugin Compose sono pronti.<\/p>\n\n\n\n<h3 id=\"h-step-5-create-the-project-directory-and-secrets\" class=\"wp-block-heading\">Passaggio 5: Crea la directory del progetto e i segreti<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Crea la directory del progetto, poi genera la tua chiave di crittografia; non lasciare che n8n ne inventi una in silenzio al primo avvio:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo mkdir -p \/opt\/n8n-compose\ncd \/opt\/n8n-compose\nopenssl rand -hex 32<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Copia subito l&#8217;output in un posto sicuro, fuori dal server. Poi inseriscilo, insieme a una password del database robusta, in un file <code>.env<\/code> protetto accanto al file compose (Docker Compose lo legge automaticamente). Sostituisci entrambi i valori segnaposto con i tuoi:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo tee \/opt\/n8n-compose\/.env &gt; \/dev\/null &lt;&lt;'EOF'\nPOSTGRES_PASSWORD=choose_a_strong_password\nN8N_ENCRYPTION_KEY=paste_the_64_character_key_you_just_generated\nEOF\nsudo chmod 600 \/opt\/n8n-compose\/.env<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Il <code>chmod 600<\/code> \u00e8 importante: questo file contiene segreti, quindi solo il suo proprietario (root) deve poterlo leggere. Nel file compose, <code>N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS=true<\/code> applica lo stesso principio all&#8217;interno del container: secondo il <a target=\"_blank\" href=\"https:\/\/docs.n8n.io\/deploy\/host-n8n\/configure-n8n\/basic-configuration\/use-environment-variables\/security\">riferimento delle variabili di sicurezza di n8n<\/a>, fa s\u00ec che n8n provi a impostare i permessi 0600 sul proprio file di impostazioni.<\/p>\n\n\n\n<h3 id=\"h-step-6-write-the-docker-compose-file\" class=\"wp-block-heading\">Passaggio 6: Scrivi il file Docker Compose<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Crea <code>\/opt\/n8n-compose\/docker-compose.yml<\/code> (per esempio con <code>sudo nano \/opt\/n8n-compose\/docker-compose.yml<\/code>) e incolla quanto segue, sostituendo <code>n8n.example.com<\/code> con il tuo dominio in entrambe le righe con l&#8217;URL e impostando il tuo fuso orario:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>services:\n  caddy:\n    image: caddy:2\n    restart: unless-stopped\n    ports:\n      - \"80:80\"\n      - \"443:443\"\n    volumes:\n      - .\/Caddyfile:\/etc\/caddy\/Caddyfile\n      - caddy_data:\/data\n      - caddy_config:\/config\n\n  n8n:\n    image: docker.n8n.io\/n8nio\/n8n:2.36.7\n    restart: unless-stopped\n    expose:\n      - \"5678\"\n    environment:\n      - DB_TYPE=postgresdb\n      - DB_POSTGRESDB_HOST=postgres\n      - DB_POSTGRESDB_DATABASE=n8n\n      - DB_POSTGRESDB_USER=n8n\n      - DB_POSTGRESDB_PASSWORD=${POSTGRES_PASSWORD}\n      - N8N_ENCRYPTION_KEY=${N8N_ENCRYPTION_KEY}\n      - N8N_HOST=n8n.example.com\n      - N8N_PORT=5678\n      - N8N_PROTOCOL=https\n      - N8N_WEBHOOK_URL=https:\/\/n8n.example.com\/\n      - N8N_PROXY_HOPS=1\n      - N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS=true\n      - GENERIC_TIMEZONE=America\/New_York\n      - TZ=America\/New_York\n      - EXECUTIONS_DATA_MAX_AGE=168\n    depends_on:\n      postgres:\n        condition: service_healthy\n    volumes:\n      - n8n_data:\/home\/node\/.n8n\n\n  postgres:\n    image: postgres:18\n    restart: unless-stopped\n    environment:\n      - POSTGRES_USER=n8n\n      - POSTGRES_PASSWORD=${POSTGRES_PASSWORD}\n      - POSTGRES_DB=n8n\n      - PGDATA=\/var\/lib\/postgresql\/data\n    healthcheck:\n      test: [\"CMD-SHELL\", \"pg_isready -U n8n -d n8n\"]\n      interval: 5s\n      timeout: 5s\n      retries: 10\n    volumes:\n      - postgres_data:\/var\/lib\/postgresql\/data\n\nvolumes:\n  caddy_data:\n  caddy_config:\n  n8n_data:\n  postgres_data:<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Cinque dettagli meritano il loro posto:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>L&#8217;immagine \u00e8 fissata a una versione specifica<\/strong> (2.36.7 \u00e8 l&#8217;attuale release stabile mentre scriviamo, secondo la <a target=\"_blank\" href=\"https:\/\/docs.n8n.io\/deploy\/host-n8n\/install-options\/use-a-cloud-provider\/use-docker-compose\">documentazione di installazione di n8n<\/a>), quindi gli aggiornamenti avvengono solo quando lo decidi tu.<\/li>\n\n\n\n<li><strong>n8n non pubblica alcuna porta sull&#8217;host.<\/strong> \u00c8 raggiungibile dai container sulla rete Compose, incluso Caddy, ma non tramite una porta pubblicata sull&#8217;host, quindi l&#8217;editor \u00e8 raggiungibile solo attraverso il reverse proxy, mai direttamente da internet.<\/li>\n\n\n\n<li><strong>L&#8217;healthcheck costringe n8n ad attendere PostgreSQL.<\/strong> Un semplice <code>depends_on<\/code> attende solo l&#8217;avvio del container, non che il database accetti connessioni. Lo schema <code>condition: service_healthy<\/code> viene direttamente dal <a target=\"_blank\" href=\"https:\/\/github.com\/n8n-io\/n8n-hosting\">file compose Postgres di esempio di n8n<\/a>, che distribuisce anch&#8217;esso PostgreSQL 18.<\/li>\n\n\n\n<li><strong>La coppia <code>N8N_WEBHOOK_URL<\/code> \/ <code>N8N_PROXY_HOPS<\/code> \u00e8 importante dietro un proxy.<\/strong> n8n normalmente costruisce gli URL dei webhook a partire da protocollo, host e porta, e la <a target=\"_blank\" href=\"https:\/\/docs.n8n.io\/deploy\/host-n8n\/configure-n8n\/basic-configuration\/configuration-examples\/configure-webhook-urls-with-reverse-proxy\">documentazione di n8n<\/a> dice che questo non funziona dietro un reverse proxy; quindi imposti manualmente l&#8217;URL dei webhook affinch\u00e9 n8n possa &#8220;registrare gli URL dei webhook corretti presso i servizi esterni&#8221;, imposti <code>N8N_PROXY_HOPS<\/code> a 1 e ti assicuri che il proxy passi gli header X-Forwarded-For, X-Forwarded-Host e X-Forwarded-Proto. (La stessa pagina segnala che <code>N8N_WEBHOOK_URL<\/code> sostituisce la precedente <code>WEBHOOK_URL<\/code>, deprecata a partire da n8n 2.35.0.)<\/li>\n\n\n\n<li><strong><code>TZ<\/code> e <code>GENERIC_TIMEZONE<\/code> svolgono compiti diversi.<\/strong> Secondo la <a target=\"_blank\" href=\"https:\/\/hub.docker.com\/r\/n8nio\/n8n\">documentazione Docker di n8n<\/a>, <code>GENERIC_TIMEZONE<\/code> regola i nodi di pianificazione come Schedule, mentre <code>TZ<\/code> imposta il fuso orario di sistema del container (quello riportato da comandi come <code>date<\/code>). Imposta entrambe sullo stesso valore.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">(Parti con PostgreSQL fin dal primo giorno. n8n usa SQLite per impostazione predefinita, che va bene per i test, ma i modelli di hosting di n8n consigliano PostgreSQL per la produzione, e migrare in seguito \u00e8 doloroso, nel senso di &#8220;avrei dovuto farlo bene fin dall&#8217;inizio&#8221;.)<\/p>\n\n\n\n<h3 id=\"h-step-7-write-the-caddyfile\" class=\"wp-block-heading\">Passaggio 7: Scrivi il Caddyfile<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Crea <code>\/opt\/n8n-compose\/Caddyfile<\/code> con il tuo dominio (di nuovo, sostituisci <code>n8n.example.com<\/code>):<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>n8n.example.com {\n    reverse_proxy n8n:5678\n}<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Questa \u00e8 tutta la configurazione del reverse proxy. Secondo la <a target=\"_blank\" href=\"https:\/\/caddyserver.com\/docs\/automatic-https\">documentazione di Caddy sull&#8217;HTTPS automatico<\/a>, Caddy ottiene e rinnova automaticamente un certificato attendibile pubblicamente, usando un&#8217;autorit\u00e0 emittente come Let&#8217;s Encrypt o ZeroSSL, e reindirizza HTTP su HTTPS, a condizione che il tuo record DNS A punti al server e che le porte 80 e 443 siano aperte (passaggi 1 e 3). Caddy \u00e8 anche uno dei reverse proxy presenti negli <a target=\"_blank\" href=\"https:\/\/github.com\/n8n-io\/n8n-hosting\">esempi di hosting ufficiali di n8n<\/a>.<\/p>\n\n\n\n<h3 id=\"h-step-8-launch-and-verify\" class=\"wp-block-heading\">Passaggio 8: Avvia e verifica<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>cd \/opt\/n8n-compose\nsudo docker compose up -d\nsudo docker compose ps<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Aspetta che <code>ps<\/code> mostri il container postgres in stato healthy e n8n in esecuzione, poi controlla la porta d&#8217;ingresso da qualsiasi computer:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>curl -fsS -o \/dev\/null -w '%{http_code}' https:\/\/n8n.example.com\/<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Un codice 2xx (o un reindirizzamento 3xx) significa che Caddy ha gestito la terminazione TLS e n8n ha risposto; se invece <code>curl<\/code> termina con un errore, bisogna controllare il DNS, il certificato o i container (<code>sudo docker compose logs caddy<\/code> e <code>sudo docker compose logs n8n<\/code> sono i primi posti da guardare). Apri <code>https:\/\/n8n.example.com<\/code> in un browser e crea il tuo account proprietario.<\/p>\n\n\n\n<h3 id=\"h-step-9-update-n8n-deliberately\" class=\"wp-block-heading\">Passaggio 9: Aggiorna n8n in modo consapevole<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">n8n rilascia una nuova versione minore quasi ogni settimana, e le sue <a target=\"_blank\" href=\"https:\/\/hub.docker.com\/r\/n8nio\/n8n\">istruzioni di aggiornamento<\/a> ti chiedono di controllare il changelog delle modifiche incompatibili prima di aggiornare. Quando sei pronto: modifica il tag di versione in <code>docker-compose.yml<\/code>, poi<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>cd \/opt\/n8n-compose\nsudo docker compose pull\nsudo docker compose up -d<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Con un tag fissato, il solo pull non cambia nulla: sei tu a scegliere ogni aggiornamento cambiando il tag, ed \u00e8 proprio questo lo scopo del pinning. Esegui un backup (passaggio 10) prima degli aggiornamenti di versione principale.<\/p>\n\n\n\n<h3 id=\"h-step-10-schedule-backups\" class=\"wp-block-heading\">Passaggio 10: Pianifica i backup<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Per un ripristino utilizzabile servono tre cose: il database PostgreSQL, il volume <code>n8n_data<\/code> e il file <code>.env<\/code> che fornisce la <code>N8N_ENCRYPTION_KEY<\/code>. La <a target=\"_blank\" href=\"https:\/\/hub.docker.com\/r\/n8nio\/n8n\">documentazione Docker<\/a> di n8n \u00e8 esplicita: anche se usi PostgreSQL, la cartella <code>\/home\/node\/.n8n<\/code> (il nostro volume <code>n8n_data<\/code>) contiene comunque dati essenziali, incluso il materiale della chiave di crittografia. Esegui il backup di tutti e tre, e conserva <code>docker-compose.yml<\/code> e <code>Caddyfile<\/code> per poter ricostruire lo stack. Lo script qui sotto gestisce il database e il volume; la copia dei file di configurazione fuori dall&#8217;host viene subito dopo. Crea lo script come file di propriet\u00e0 di root:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo tee \/opt\/n8n-compose\/backup.sh &gt; \/dev\/null &lt;&lt;'EOF'\n#!\/bin\/bash\nset -euo pipefail\ncd \/opt\/n8n-compose\nSTAMP=$(date +%Y-%m-%d)\nmkdir -p \/opt\/n8n-backups\ndocker compose exec -T postgres pg_dump -U n8n -d n8n &gt; \"\/opt\/n8n-backups\/n8n-db-${STAMP}.sql\"\ndocker run --rm -v n8n-compose_n8n_data:\/data -v \/opt\/n8n-backups:\/backup alpine \\\n  tar czf \"\/backup\/n8n-data-${STAMP}.tar.gz\" -C \/data .\nfind \/opt\/n8n-backups -name 'n8n-db-*.sql' -mtime +30 -delete\nfind \/opt\/n8n-backups -name 'n8n-data-*.tar.gz' -mtime +30 -delete\nEOF\nsudo chmod 700 \/opt\/n8n-compose\/backup.sh\nsudo \/opt\/n8n-compose\/backup.sh<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Note sullo script: <code>n8n-compose_n8n_data<\/code> \u00e8 il nome del volume che Compose crea per una directory di progetto chiamata <code>n8n-compose<\/code>; verifica il tuo con <code>sudo docker volume ls<\/code> e modificalo se \u00e8 diverso. Le due righe <code>find<\/code> conservano 30 giorni di backup; imposta una conservazione diversa in base allo spazio disponibile e alle tue esigenze di ripristino.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Pianificalo dalla crontab di root. Il cron di root deve eseguire sempre e solo uno script di propriet\u00e0 di root (<code>chmod 700<\/code>, con il <code>.env<\/code> a <code>600<\/code>), mai un file che un altro utente pu\u00f2 modificare. Esegui <code>sudo crontab -e<\/code> e aggiungi una riga per un&#8217;esecuzione giornaliera alle 3 di notte:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>0 3 * * * \/opt\/n8n-compose\/backup.sh<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Lo script esegue il backup pianificato del database PostgreSQL e del volume <code>n8n_data<\/code>. Copia fuori dall&#8217;host il <code>.env<\/code> (che contiene la tua chiave di crittografia) e i file di Compose e Caddy, adesso e ogni volta che cambiano. Sul server, crea un archivio temporaneo protetto:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo tar -C \/opt\/n8n-compose -czf \/home\/deploy\/n8n-config.tar.gz .env docker-compose.yml Caddyfile\nsudo chown deploy:deploy \/home\/deploy\/n8n-config.tar.gz\nchmod 600 \/home\/deploy\/n8n-config.tar.gz<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Poi, dal tuo computer locale, scarica l&#8217;archivio di configurazione insieme ai backup ed elimina la copia temporanea sul server:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>scp deploy@your_server_ip:\/home\/deploy\/n8n-config.tar.gz .\nscp -r deploy@your_server_ip:\/opt\/n8n-backups .\nssh deploy@your_server_ip 'rm \/home\/deploy\/n8n-config.tar.gz'<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Un backup che esiste solo sul server che protegge scompare insieme al server.<\/p>\n\n\n\n<h3 id=\"h-step-11-test-a-restore-on-a-scratch-vps\" class=\"wp-block-heading\">Passaggio 11: Testa un ripristino su un VPS di prova<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Questa \u00e8 una procedura di backup e ripristino che ti permette di verificare che i tuoi backup siano utilizzabili. Testa il ripristino su un VPS di prova nuovo, mai sul server di produzione. Crea un server usa e getta, ripeti l\u00ec il passaggio 4 (Docker) e copia i file del progetto (<code>docker-compose.yml<\/code>, <code>Caddyfile<\/code>, <code>.env<\/code>) e i backup datati pi\u00f9 recenti negli stessi percorsi.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Per prima cosa, cambia l&#8217;hostname: inserisci un hostname di test (per esempio <code>n8n-restore-test.example.com<\/code>, con un record A che punta al VPS di prova) in <code>N8N_HOST<\/code>, <code>N8N_WEBHOOK_URL<\/code> e nel Caddyfile. Poi, sostituendo i nomi dei file datati con i tuoi:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>cd \/opt\/n8n-compose\nsudo docker compose create\nsudo docker run --rm -v n8n-compose_n8n_data:\/data -v \/opt\/n8n-backups:\/backup alpine \\\n  sh -c \"cd \/data &amp;&amp; tar xzf \/backup\/n8n-data-2026-08-25.tar.gz\"\nsudo docker compose up -d --wait postgres\nsudo docker compose exec -T postgres psql -U n8n -d n8n &lt; \/opt\/n8n-backups\/n8n-db-2026-08-25.sql\nsudo docker compose run --rm n8n unpublish:workflow --all\nsudo docker compose up -d<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">La riga <code>unpublish:workflow --all<\/code> usa la <a target=\"_blank\" href=\"https:\/\/docs.n8n.io\/deploy\/host-n8n\/configure-n8n\/use-the-command-line\">Server CLI integrata di n8n<\/a> per annullare la pubblicazione di ogni workflow ripristinato prima dell&#8217;avvio dell&#8217;istanza, cos\u00ec le pianificazioni e i trigger ripristinati non si attivano contro i tuoi sistemi di produzione dalla macchina di test. Concludi con lo stesso controllo <code>curl<\/code> del passaggio 8, sull&#8217;hostname di test.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Sii onesto con te stesso su cosa significa un controllo superato: conferma che il database e il volume sono stati ripristinati e che lo stack si avvia correttamente. Non mette alla prova i tuoi workflow tramite l&#8217;editor, quindi accedi all&#8217;istanza di test e controlla a campione quelli che non puoi permetterti di perdere.<\/p>\n\n\n\n<h2 id=\"h-how-do-you-keep-a-self-hosted-n8n-instance-secure\" class=\"wp-block-heading\">Come Mantieni Sicura un&#8217;Istanza n8n Self-Hosted?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Un&#8217;istanza n8n self-hosted \u00e8 sicura quanto il server su cui gira, e sei tu a controllare quel server.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La sicurezza si riduce a sei elementi. Nessuno di essi \u00e8 complicato preso singolarmente, ma tralasciarne anche solo uno lascia una vera lacuna. La configurazione qui sopra implementa gi\u00e0 i primi tre.<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>HTTPS tramite un reverse proxy.<\/strong> Non accedere mai all&#8217;editor di n8n tramite HTTP semplice. La configurazione di Caddy del passaggio 7 ottiene e rinnova automaticamente un certificato attendibile pubblicamente, usando un&#8217;autorit\u00e0 emittente come Let&#8217;s Encrypt o ZeroSSL, e reindirizza HTTP su HTTPS.<\/li>\n\n\n\n<li><strong>Firewall blindato.<\/strong> UFW consente solo SSH (22), HTTP (80) e HTTPS (443). Non esporre <em>mai<\/em> la porta predefinita di n8n, la 5678, direttamente su internet. Il file compose qui sopra lo garantisce non assegnando a n8n alcuna porta pubblicata sull&#8217;host, cos\u00ec solo i container sulla rete Compose possono raggiungerlo.<\/li>\n\n\n\n<li><strong>Isolamento della rete Docker.<\/strong> PostgreSQL e n8n comunicano tramite la rete Compose interna. La porta del database non viene mai pubblicata sull&#8217;host, quindi non \u00e8 mai raggiungibile dall&#8217;esterno.<\/li>\n\n\n\n<li><strong>Autenticazione forte.<\/strong> Usa una password robusta per il proprietario e attiva l&#8217;autenticazione a due fattori; la <a target=\"_blank\" href=\"https:\/\/docs.n8n.io\/deploy\/host-n8n\/configure-n8n\/security\">guida alla sicurezza<\/a> di n8n elenca la 2FA tra le protezioni consigliate per le istanze self-hosted.<\/li>\n\n\n\n<li><strong>Aggiornamenti regolari.<\/strong> Aggiorna il tag di versione nel file compose, poi esegui il pull e riavvia (passaggio 9). Leggi prima il changelog, perch\u00e9 gli aggiornamenti di n8n possono includere modifiche incompatibili.<\/li>\n\n\n\n<li><strong>Backup che hai davvero ripristinato.<\/strong> I passaggi 10 e 11 ti forniscono la pianificazione e il test. Un backup mai testato \u00e8 una <em>speranza<\/em>, non un piano.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">Un&#8217;altra cosa da tenere d&#8217;occhio che non riguarda strettamente la sicurezza, ma che far\u00e0 una grande differenza. Per impostazione predefinita, n8n salva nel database l&#8217;input e l&#8217;output di ogni esecuzione. <a target=\"_blank\" href=\"https:\/\/docs.n8n.io\/deploy\/host-n8n\/configure-n8n\/scaling\/manage-execution-data\">La pulizia automatica \u00e8 attiva per impostazione predefinita<\/a>: n8n elimina le esecuzioni pi\u00f9 vecchie di 336 ore (14 giorni), oppure quando superi le 10.000 esecuzioni archiviate. Un&#8217;istanza molto attiva pu\u00f2 comunque gonfiare PostgreSQL nel frattempo.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Se i tuoi workflow sono loquaci, restringi i limiti: imposta <code>EXECUTIONS_DATA_MAX_AGE=168<\/code> per eliminare i dati di esecuzione pi\u00f9 vecchi di sette giorni (il file compose qui sopra lo fa gi\u00e0), oppure evita del tutto di archiviare le esecuzioni riuscite con <code>EXECUTIONS_DATA_SAVE_ON_SUCCESS=none<\/code>.<\/p>\n\n\n\n<h2 id=\"h-what-are-the-trade-offs-of-self-hosting-vs-n8n-cloud\" class=\"wp-block-heading\">Quali Sono i Compromessi tra Self-Hosting e n8n Cloud?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Il self-hosting di n8n ti offre un&#8217;istanza senza quote di esecuzione e il controllo sui dati che archivia, al costo di un piccolo VPS pi\u00f9 la tua amministrazione. n8n Cloud ti offre zero manutenzione del server, con limiti di esecuzione in base al livello. La scelta dipende dal fatto che tu voglia possedere la tua infrastruttura di automazione o pagare qualcun altro per gestirla.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La <a target=\"_blank\" href=\"https:\/\/docs.n8n.io\/deploy\/host-n8n\/install-options\/use-a-cloud-provider\/use-docker-compose\">documentazione di n8n lo espone<\/a> cos\u00ec: &#8220;n8n consiglia il self-hosting agli utenti esperti. Gli errori possono portare a perdita di dati, problemi di sicurezza e downtime. Se non hai esperienza nella gestione dei server, n8n consiglia n8n Cloud.&#8221;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ecco come si confrontano le due opzioni:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td><strong>Fattore<\/strong><\/td><td><strong>Self-hosted<\/strong><\/td><td><strong>n8n Cloud<\/strong><\/td><\/tr><tr><td>Costo mensile<\/td><td>La fattura del tuo VPS pi\u00f9 l&#8217;eventuale dominio, lo spazio per i backup e i costi di amministrazione (DreamHost Stack 4: $8,99\/mese per 3 mesi, poi $15,99\/mese, prezzi di agosto 2026; stime di terze parti 2026 di ExpressTech: $4\u20138\/mese)<\/td><td>\u20ac20\u201350 (con fatturazione annuale), in base al livello<\/td><\/tr><tr><td>Esecuzioni<\/td><td>Nessuna quota; la capacit\u00e0 dipende dalle risorse del tuo server<\/td><td>2.500 (Starter) o 10.000 (Pro)<\/td><\/tr><tr><td>Configurazione<\/td><td>La guida in 11 passaggi qui sopra<\/td><td>Pochi minuti<\/td><\/tr><tr><td>Manutenzione<\/td><td>Aggiornamenti, backup e monitoraggio sono a tuo carico<\/td><td>Gestita da n8n<\/td><\/tr><tr><td>Posizione dei dati<\/td><td>Il tuo server<\/td><td>Infrastruttura di n8n<\/td><\/tr><tr><td>Aggiornamenti<\/td><td>Manuali (aggiorna il tag, pull, riavvio)<\/td><td>Automatici<\/td><\/tr><tr><td>TLS<\/td><td>Caddy ottiene e rinnova automaticamente i certificati (autorit\u00e0 emittente come Let&#8217;s Encrypt o ZeroSSL)<\/td><td>Gestito per te<\/td><\/tr><tr><td>Scalabilit\u00e0<\/td><td>Aggiungi RAM, o usa la modalit\u00e0 coda con worker Redis<\/td><td>Passa a un livello superiore del piano<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Esiste anche una via di mezzo che vale la pena conoscere. <\/strong>Piattaforme gestite come PikaPods (circa $3,80\/mese) ed Elestio (circa $17\/mese, secondo <a target=\"_blank\" href=\"https:\/\/expresstech.io\/the-real-cost-of-self-hosting-n8n-in-2026\/\">il confronto di ExpressTech<\/a>) eseguono n8n self-hosted senza che tu debba gestire il server. Questi servizi possono ridurre il lavoro di amministrazione del server, ma verifica chi si occupa di aggiornamenti di n8n, backup, monitoraggio e sicurezza.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ma ecco il quadro generale. Su qualsiasi piano in hosting, la tua capacit\u00e0 di esecuzione \u00e8 un livello di fatturazione, e i livelli li stabilisce la piattaforma. Prezzi, quote e funzionalit\u00e0 possono cambiare attorno ai workflow che hai gi\u00e0 costruito.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Con il self-hosting, l&#8217;istanza e i dati che archivia si trovano su un&#8217;infrastruttura che controlli <em>tu<\/em> (i servizi collegati ricevono comunque ci\u00f2 che i tuoi workflow inviano loro). Pieno controllo, piena responsabilit\u00e0.<\/p>\n\n\n\n<h2 id=\"h-making-the-final-call\" class=\"wp-block-heading\">Fare la Scelta Finale<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Il self-hosting ha senso quando si allineano tre cose:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Esegui abbastanza automazioni da risentire dei limiti di esecuzione del cloud<\/li>\n\n\n\n<li>Vuoi che i dati dei tuoi workflow siano su un&#8217;infrastruttura che controlli<\/li>\n\n\n\n<li>Tu (o qualcuno del tuo team) sei disposto a farti carico di aggiornamenti, backup e monitoraggio<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">Altrimenti, n8n Cloud \u00e8 una scelta ragionevole. Pagare il piano Starter per non dover mai pensare ai log di Docker \u00e8 un compromesso equo, soprattutto per un piccolo team che vuole semplicemente che le proprie automazioni funzionino.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ma una volta che sei pronto a superare la soglia del self-hosting, i conti diventano rapidamente decisivi. Un VPS da 4 GB \u00e8 un punto di partenza pratico, anche se non verificato con benchmark; la capacit\u00e0 in produzione dipende da concorrenza, volume di dati e nodi che usi, quindi monitora l&#8217;istanza e scalala man mano che la domanda cresce. Inizia in piccolo, potenzia man mano che i tuoi workflow crescono e mantieni il pieno controllo del tuo stack.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Quest&#8217;ultima parte conta pi\u00f9 di quanto possa sembrare. Puoi sempre passare a un server pi\u00f9 grande. \u00c8 molto pi\u00f9 difficile districarsi da una piattaforma SaaS dopo che ha cambiato i suoi prezzi attorno ai workflow che hai gi\u00e0 costruito.<\/p>\n\n\n\n\n\n\n\n\n\n<div class=\"article-cta-shared article-cta-small article-cta--product\">\n\t<div class=\"tr-img-wrap-outer jsLoading\"><img decoding=\"async\" class=\"js-img-lazy \" src=\"https:\/\/www.dreamhost.com\/blog\/wp-content\/themes\/blog2018\/assets\/img\/lazy-loading-transparent.webp\" data-srcset=\"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/cta_image_a-877x522.webp 1x, https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/cta_image_a.webp 2x\"  \/><\/div>\n\n\t<a href='https:\/\/www.dreamhost.com\/hosting\/vps\/' class='link-top' target='_blank' rel='noopener noreferrer'>\n\t\t<span>VPS<\/span>\n\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 384 512\" width=\"15\"><path d=\"M342.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-192 192c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L274.7 256 105.4 86.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l192 192z\"\/><\/svg>\n\t<\/a>\n\n\t<div class=\"content-btm\">\n\t\t<h2 class=\"h2--md\">\n\t\t\tOwn Your Entire Stack. Apps, AI, Databases, and More.\n\t\t<\/h2>\n\t\t<p class=\"p--md\">\n\t\t\tKeep every credential and conversation on a server you control, with NVMe speed and unmetered bandwidth built in.\n\t\t<\/p>\n\n\t\t        <a\n            href=\"https:\/\/www.dreamhost.com\/hosting\/vps\/\"\n                        class=\"btn btn--white-outline btn--sm btn--round\"\n                                    target=\"_blank\"\n            rel=\"noopener noreferrer\"\n            >\n                            Explore VPS Hosting Plans                    <\/a>\n\n\t<\/div>\n<\/div>\n\n\n\n<h2 id=\"h-frequently-asked-questions-about-self-hosting-n8n\" class=\"wp-block-heading\">Domande Frequenti sul Self-Hosting di n8n<\/h2>\n\n\n\n<h3 id=\"h-is-n8n-really-free-to-self-host\" class=\"wp-block-heading\">n8n \u00e8 davvero gratuito in self-hosting?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Il software n8n \u00e8 gratuito da eseguire sul tuo server con la Sustainable Use License. La Community edition self-hosted (la versione standard che n8n pubblica su GitHub) non prevede costi di licenza n\u00e9 di esecuzione n8n per gli usi consentiti, come l&#8217;automazione interna della tua azienda. La parte &#8220;gratuita&#8221; \u00e8 il software; pagherai comunque il server, pi\u00f9 l&#8217;eventuale dominio, lo spazio per i backup e il tempo di amministrazione.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La licenza vieta di vendere un prodotto, un servizio o un modulo il cui valore derivi interamente o in modo sostanziale dalle funzionalit\u00e0 di n8n. Consulta le <a target=\"_blank\" href=\"https:\/\/docs.n8n.io\/privacy-and-security\/sustainable-use-license\">FAQ sulla licenza di n8n<\/a> se l&#8217;uso che hai in mente prevede di offrire ai clienti funzionalit\u00e0 basate su n8n.<\/p>\n\n\n\n<h3 id=\"h-what-are-the-minimum-system-requirements-for-n8n\" class=\"wp-block-heading\">Quali sono i requisiti minimi di sistema per n8n?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">n8n pubblica un dimensionamento di esempio anzich\u00e9 un minimo rigido, e definisce quei valori indicativi (provengono dalla sua documentazione sul deployment OEM): circa 100 MB di memoria a riposo, un intervallo di memoria di esempio di 320 MB\u20132 GB e un database su SSD di 512 MB\u20134 GB. Come allocazione iniziale prudente, e non come minimo ufficiale di n8n, considera 2 GB per i test e 4 GB quando aggiungi PostgreSQL e workflow di produzione, poi monitora e aggiungi memoria quando la pressione diventa costante.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Il piano DreamHost VPS Hosting Stack 4 offre 4 GB di RAM con storage SSD NVMe e accesso root completo per eseguire applicazioni self-hosted come n8n. Consulta i piani di <a target=\"_blank\" href=\"https:\/\/www.dreamhost.com\/it\/hosting\/vps\/\">Hosting VPS<\/a> per i dettagli.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Usa PostgreSQL invece di SQLite in produzione e preferisci lo storage SSD, perch\u00e9 n8n lo indica come best practice per il database.<\/p>\n\n\n\n<h3 id=\"h-can-i-run-n8n-locally-instead-of-on-a-vps\" class=\"wp-block-heading\">Posso eseguire n8n in locale invece che su un VPS?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">S\u00ec, un solo comando Docker avvia n8n sul tuo computer, ed \u00e8 un ottimo modo per testare i workflow prima di impegnarti con un server. Il problema sono i webhook: i workflow attivati da servizi esterni richiedono che la tua istanza sia raggiungibile da internet, cosa che un portatile dietro un router domestico non \u00e8 per impostazione predefinita. Port forwarding, VPN e tunnel possono aggirare il problema, ciascuno con i propri compromessi in termini di configurazione e sicurezza.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">n8n offre un servizio di tunnel per inoltrare i webhook a un&#8217;istanza locale, ma la sua <a target=\"_blank\" href=\"https:\/\/hub.docker.com\/r\/n8nio\/n8n\">documentazione Docker<\/a> \u00e8 schietta: il tunnel \u00e8 &#8220;pensato solo per lo sviluppo e i test in locale&#8221; e non va usato in produzione. Per tutto ci\u00f2 che gira senza sosta, usa un VPS.<\/p>\n\n\n\n<h3 id=\"h-can-i-migrate-from-zapier-to-n8n\" class=\"wp-block-heading\">Posso migrare da Zapier a n8n?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Non aspettarti un&#8217;importazione con un clic. Metti in conto di ricostruire i tuoi workflow nell&#8217;editor visuale di n8n anzich\u00e9 importarli da Zapier.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La buona notizia: n8n offre oltre 400 integrazioni, ma verifica ogni app, trigger e azione usati dai tuoi workflow attuali prima di pianificare la migrazione. I workflow semplici si ricostruiscono rapidamente; le sequenze complesse in pi\u00f9 passaggi richiedono pi\u00f9 tempo.<\/p>\n\n\n\n<h3 id=\"h-how-do-i-update-a-self-hosted-n8n-instance\" class=\"wp-block-heading\">Come aggiorno un&#8217;istanza n8n self-hosted?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Modifica il tag di versione nel tuo <code>docker-compose.yml<\/code> impostando la release che vuoi, poi esegui <code>docker compose pull<\/code> seguito da <code>docker compose up -d<\/code>. Con un tag fissato come <code>docker.n8n.io\/n8nio\/n8n:2.36.7<\/code>, il solo pull non cambia nulla: sei tu a scegliere ogni aggiornamento cambiando il tag, ed \u00e8 proprio questo lo scopo del pinning. (Se invece usi il tag <code>latest<\/code>, basta un pull e un riavvio, ma ogni riavvio diventa un aggiornamento a sorpresa.)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Esegui il backup del database PostgreSQL prima degli aggiornamenti di versione principale. Lo script di backup della guida qui sopra se ne occupa, oppure esegui <code>pg_dump<\/code> direttamente nel container PostgreSQL.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Gli aggiornamenti frettolosi rompono le cose, e n8n rilascia una nuova versione minore quasi ogni settimana. Le <a target=\"_blank\" href=\"https:\/\/hub.docker.com\/r\/n8nio\/n8n\">istruzioni di aggiornamento<\/a> di n8n ti chiedono di controllare il changelog delle modifiche incompatibili prima di aggiornare, quindi leggilo prima di eseguire il pull. Il riavvio in s\u00e9 \u00e8 rapido; \u00e8 la lettura del changelog che merita il tuo tempo.<\/p>\n\n\n\n<h3 id=\"h-is-self-hosted-n8n-secure-enough-for-business-data\" class=\"wp-block-heading\">n8n self-hosted \u00e8 abbastanza sicuro per i dati aziendali?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Il self-hosting ti d\u00e0 il controllo su dove n8n archivia le definizioni dei workflow, le credenziali e i dati di esecuzione. Tuttavia, i servizi collegati ricevono comunque i dati che i tuoi workflow inviano loro, e la protezione del server resta una tua responsabilit\u00e0.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Segui la checklist in sei punti della sezione sulla sicurezza qui sopra: HTTPS, firewall, isolamento Docker, autenticazione forte con 2FA, aggiornamenti regolari e backup testati. Il team di n8n mantiene una <a target=\"_blank\" href=\"https:\/\/docs.n8n.io\/deploy\/host-n8n\/configure-n8n\/security\">guida alla sicurezza<\/a> che copre ulteriori aspetti per la produzione, dagli audit di sicurezza all&#8217;autenticazione a due fattori.<\/p>\n\n\n\n<script type=\"application\/ld+json\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"headline\":\"n8n self-hosted: come eseguire n8n sul tuo server\",\"description\":\"Ospita n8n in autonomia su un VPS: la Community edition non prevede costi di licenza n\u00e9 di esecuzione n8n per gli usi consentiti. Specifiche del server, una configurazione Docker Compose in 11 passaggi con Caddy, sicurezza, backup e quando il self-hosting batte n8n Cloud.\",\"datePublished\":\"2026-04-15\",\"dateModified\":\"2026-08-25\",\"author\":{\"@type\":\"Organization\",\"name\":\"DreamHost Blog\",\"url\":\"https:\/\/www.dreamhost.com\/blog\/\"},\"publisher\":{\"@type\":\"Organization\",\"name\":\"DreamHost\",\"url\":\"https:\/\/www.dreamhost.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https:\/\/www.dreamhost.com\/assets\/images\/dh-logo.svg\"}},\"mainEntityOfPage\":{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.dreamhost.com\/blog\/n8n-self-hosted\/\"},\"keywords\":[\"n8n self-hosted\",\"ospitare n8n in autonomia\",\"n8n docker\",\"n8n VPS\",\"hosting n8n\",\"automazione dei flussi di lavoro\"]},{\"@type\":\"FAQPage\",\"mainEntity\":[{\"@type\":\"Question\",\"name\":\"n8n \u00e8 davvero gratuito in self-hosting?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Il software n8n \u00e8 gratuito da eseguire sul tuo server con la Sustainable Use License. La Community edition self-hosted (la versione standard che n8n pubblica su GitHub) non prevede costi di licenza n\u00e9 di esecuzione n8n per gli usi consentiti, come l'automazione interna della tua azienda. Pagherai comunque il server, pi\u00f9 l'eventuale dominio, lo spazio per i backup e il tempo di amministrazione. La licenza vieta di vendere un prodotto, un servizio o un modulo il cui valore derivi interamente o in modo sostanziale dalle funzionalit\u00e0 di n8n; consulta le FAQ sulla licenza di n8n se l'uso che hai in mente prevede di offrire ai clienti funzionalit\u00e0 basate su n8n.\"}},{\"@type\":\"Question\",\"name\":\"Quali sono i requisiti minimi di sistema per n8n?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"n8n pubblica un dimensionamento di esempio anzich\u00e9 un minimo rigido, e definisce quei valori indicativi: circa 100 MB di memoria a riposo, un intervallo di memoria di esempio di 320 MB\u20132 GB e un database su SSD di 512 MB\u20134 GB. Come allocazione iniziale prudente, e non come minimo ufficiale di n8n, considera 2 GB per i test e 4 GB quando aggiungi PostgreSQL e workflow di produzione, poi monitora e aggiungi memoria quando la pressione diventa costante. Usa PostgreSQL invece di SQLite in produzione e preferisci lo storage SSD, perch\u00e9 n8n lo indica come best practice per il database.\"}},{\"@type\":\"Question\",\"name\":\"Posso eseguire n8n in locale invece che su un VPS?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"S\u00ec, un solo comando Docker avvia n8n sul tuo computer, ed \u00e8 un ottimo modo per testare i workflow. Il problema sono i webhook: i workflow attivati da servizi esterni richiedono che la tua istanza sia raggiungibile da internet, cosa che un portatile dietro un router domestico non \u00e8 per impostazione predefinita; port forwarding, VPN e tunnel possono aggirare il problema, ciascuno con i propri compromessi. Il servizio di tunnel di n8n pu\u00f2 inoltrare i webhook a un'istanza locale, ma la documentazione di n8n afferma che \u00e8 pensato solo per lo sviluppo e i test in locale, non per la produzione. Per automazioni che girano senza sosta, usa un VPS.\"}},{\"@type\":\"Question\",\"name\":\"Posso migrare da Zapier a n8n?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Non aspettarti un'importazione con un clic: metti in conto di ricostruire i tuoi workflow nell'editor visuale di n8n anzich\u00e9 importarli da Zapier. n8n offre oltre 400 integrazioni, ma verifica ogni app, trigger e azione usati dai tuoi workflow attuali prima di pianificare la migrazione. I workflow semplici si ricostruiscono rapidamente; le sequenze complesse in pi\u00f9 passaggi richiedono pi\u00f9 tempo.\"}},{\"@type\":\"Question\",\"name\":\"Come aggiorno un'istanza n8n self-hosted?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Modifica il tag di versione nel tuo docker-compose.yml impostando la release che vuoi, poi esegui docker compose pull seguito da docker compose up -d. Con un tag fissato, il solo pull non cambia nulla: sei tu a scegliere ogni aggiornamento cambiando il tag. Esegui il backup del database PostgreSQL prima degli aggiornamenti di versione principale e controlla il changelog delle modifiche incompatibili di n8n prima di aggiornare; n8n rilascia una nuova versione minore quasi ogni settimana.\"}},{\"@type\":\"Question\",\"name\":\"n8n self-hosted \u00e8 abbastanza sicuro per i dati aziendali?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Il self-hosting ti d\u00e0 il controllo su dove n8n archivia le definizioni dei workflow, le credenziali e i dati di esecuzione. Tuttavia, i servizi collegati ricevono comunque i dati che i tuoi workflow inviano loro, e la protezione del server resta una tua responsabilit\u00e0. Proteggere un'istanza self-hosted richiede HTTPS tramite un reverse proxy, un firewall, l'isolamento della rete Docker, un'autenticazione forte con 2FA, aggiornamenti regolari e backup testati.\"}}]},{\"@type\":\"HowTo\",\"name\":\"Come configurare n8n su un VPS\",\"description\":\"Distribuisci n8n self-hosted con Docker Compose su un VPS Ubuntu con PostgreSQL e un reverse proxy Caddy, inclusi i backup e un test di ripristino.\",\"tool\":[{\"@type\":\"HowToTool\",\"name\":\"VPS con Ubuntu 22.04 o pi\u00f9 recente\"},{\"@type\":\"HowToTool\",\"name\":\"Nome di dominio che puoi puntare al server\"},{\"@type\":\"HowToTool\",\"name\":\"Accesso al terminale SSH\"}],\"step\":[{\"@type\":\"HowToStep\",\"position\":1,\"name\":\"Punta il tuo dominio al server\",\"text\":\"Crea un record DNS A per un sottodominio dedicato che punti all'indirizzo IP del tuo server.\"},{\"@type\":\"HowToStep\",\"position\":2,\"name\":\"Proteggi l'accesso SSH\",\"text\":\"Genera una coppia di chiavi ed25519, copiala sul server con ssh-copy-id, poi disattiva gli accessi SSH con password e come root in un file drop-in 00-hardening.conf, verificando la configurazione con sshd -t e confermando le impostazioni effettive con sshd -T prima di riavviare.\"},{\"@type\":\"HowToStep\",\"position\":3,\"name\":\"Attiva il firewall\",\"text\":\"Consenti le porte 22, 80 e 443 con UFW, autorizzando SSH prima di attivare il firewall per non restare chiuso fuori.\"},{\"@type\":\"HowToStep\",\"position\":4,\"name\":\"Installa Docker e Docker Compose\",\"text\":\"Installa Docker Engine e il plugin Compose dal repository apt ufficiale di Docker, poi verifica con hello-world.\"},{\"@type\":\"HowToStep\",\"position\":5,\"name\":\"Crea la directory del progetto e i segreti\",\"text\":\"Crea \/opt\/n8n-compose, genera una chiave di crittografia con openssl rand -hex 32 e salvala insieme a una password del database in un file .env protetto con chmod 600.\"},{\"@type\":\"HowToStep\",\"position\":6,\"name\":\"Scrivi il file Docker Compose\",\"text\":\"Definisci tre servizi (Caddy, n8n fissato a una versione specifica e PostgreSQL con un healthcheck), pubblicando porte sull'host solo per Caddy.\"},{\"@type\":\"HowToStep\",\"position\":7,\"name\":\"Scrivi il Caddyfile\",\"text\":\"Un Caddyfile di due righe fa da reverse proxy dal tuo dominio a n8n:5678; Caddy ottiene e rinnova automaticamente un certificato attendibile pubblicamente.\"},{\"@type\":\"HowToStep\",\"position\":8,\"name\":\"Avvia e verifica\",\"text\":\"Esegui docker compose up -d, poi controlla l'istanza con curl -fsS -o \/dev\/null -w '%{http_code}' sul tuo dominio e crea l'account proprietario.\"},{\"@type\":\"HowToStep\",\"position\":9,\"name\":\"Aggiorna n8n in modo consapevole\",\"text\":\"Controlla il changelog delle modifiche incompatibili, modifica il tag di versione fissato, poi esegui il pull e riavvia.\"},{\"@type\":\"HowToStep\",\"position\":10,\"name\":\"Pianifica i backup\",\"text\":\"Uno script di propriet\u00e0 di root esegue il dump del database PostgreSQL e archivia ogni giorno il volume n8n_data tramite la crontab di root, conservando 30 giorni; copia i backup, il file .env e i file di configurazione fuori dal server.\"},{\"@type\":\"HowToStep\",\"position\":11,\"name\":\"Testa un ripristino su un VPS di prova\",\"text\":\"Su un VPS di prova nuovo, ripristina il volume e il database, annulla la pubblicazione di tutti i workflow con la CLI di n8n in modo che i trigger ripristinati non si attivino, poi avvia lo stack e verifica.\"}]},{\"@type\":\"SoftwareApplication\",\"name\":\"n8n\",\"applicationCategory\":\"BusinessApplication\",\"operatingSystem\":\"Linux\",\"description\":\"Una piattaforma di automazione dei flussi di lavoro fair-code con oltre 400 integrazioni per collegare app, spostare dati e creare automazioni complesse tramite un editor visuale.\",\"url\":\"https:\/\/github.com\/n8n-io\/n8n\",\"offers\":{\"@type\":\"Offer\",\"price\":\"0\",\"priceCurrency\":\"USD\",\"description\":\"La Community edition self-hosted non prevede costi di licenza n\u00e9 di esecuzione n8n per gli usi consentiti, come l'automazione interna della tua azienda; paghi comunque la tua infrastruttura server.\"},\"softwareVersion\":\"2.36.7\",\"author\":{\"@type\":\"Organization\",\"name\":\"n8n GmbH\",\"url\":\"https:\/\/n8n.io\"}}]}<\/script>\n","protected":false},"excerpt":{"rendered":"<p>L&#8217;auto-hosting di n8n ha un costo di $4\u201310 al mese per esecuzioni di flussi di lavoro illimitate. Scopri le specifiche del server, la configurazione di Docker Compose, la sicurezza e quando l&#8217;auto-hosting \u00e8 pi\u00f9 vantaggioso rispetto a n8n Cloud.<\/p>\n","protected":false},"author":2,"featured_media":81962,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_yoast_wpseo_opengraph-title":"","_yoast_wpseo_opengraph-description":"","_yoast_wpseo_twitter-title":"","_yoast_wpseo_twitter-description":"","toc_headlines":"[[\"h-what-is-n8n-and-why-are-people-self-hosting-it\",\"Cos'\u00e8 n8n e Perch\u00e9 Le Persone Lo Auto-Ospitano?\"],[\"h-how-much-does-self-hosting-n8n-cost\",\"Quanto Costa L'Hosting Autonomo di n8n?\"],[\"h-what-server-specs-does-n8n-need\",\"Quali Sono Le Specifiche Del Server Necessarie Per n8n?\"],[\"h-which-vps-should-you-choose-for-self-hosted-n8n\",\"Quale VPS Scegliere per n8n Auto-Ospitato?\"],[\"h-how-do-you-set-up-n8n-on-a-vps\",\"Come Configuri n8n Su Un VPS?\"],[\"h-how-do-you-keep-a-self-hosted-n8n-instance-secure\",\"Come Mantieni Sicura un'Instanza n8n Auto-ospitata?\"],[\"h-what-are-the-trade-offs-of-self-hosting-vs-n8n-cloud\",\"Quali Sono I Compromessi Tra L'Auto-Hosting E n8n Cloud?\"],[\"h-making-the-final-call\",\"Fare la Scelta Finale\"],[\"h-frequently-asked-questions-about-self-hosting-n8n\",\"Domande Frequenti Sull'Hosting Autonomo di n8n\"]]","hide_toc":false,"show_updated_at":"0","footnotes":""},"categories":[15062,15036],"tags":[],"class_list":["post-82100","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-vps-hosting-it","category-ai-it"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Come Eseguire n8n sul Tuo Proprio Server - DreamHost Blog<\/title>\n<meta name=\"description\" content=\"L&#039;hosting autonomo di n8n costa $4\u201310\/mese per esecuzioni di workflow illimitate. Scopri le specifiche del server, la configurazione di Docker Compose, la sicurezza e quando l&#039;hosting autonomo supera n8n Cloud.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.dreamhost.com\/blog\/it\/come-eseguire-n8n-sul-tuo-proprio-server-it\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Come Eseguire n8n sul Tuo Proprio Server - DreamHost Blog\" \/>\n<meta property=\"og:description\" content=\"L&#039;hosting autonomo di n8n costa $4\u201310\/mese per esecuzioni di workflow illimitate. Scopri le specifiche del server, la configurazione di Docker Compose, la sicurezza e quando l&#039;hosting autonomo supera n8n Cloud.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.dreamhost.com\/blog\/it\/come-eseguire-n8n-sul-tuo-proprio-server-it\/\" \/>\n<meta property=\"og:site_name\" content=\"DreamHost Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/DreamHost\/\" \/>\n<meta property=\"article:published_time\" content=\"2026-06-18T15:00:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-07-06T16:59:31+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/1460_x_1095_blog_hero_self_host_n8n.webp\" \/>\n\t<meta property=\"og:image:width\" content=\"1460\" \/>\n\t<meta property=\"og:image:height\" content=\"1095\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/webp\" \/>\n<meta name=\"author\" content=\"Dallas Kashuba\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@http:\/\/twitter.com\/dallas\" \/>\n<meta name=\"twitter:site\" content=\"@dreamhost\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Dallas Kashuba\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"15 minutes\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Come Eseguire n8n sul Tuo Proprio Server - DreamHost Blog","description":"L'hosting autonomo di n8n costa $4\u201310\/mese per esecuzioni di workflow illimitate. Scopri le specifiche del server, la configurazione di Docker Compose, la sicurezza e quando l'hosting autonomo supera n8n Cloud.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.dreamhost.com\/blog\/it\/come-eseguire-n8n-sul-tuo-proprio-server-it\/","og_locale":"en_US","og_type":"article","og_title":"Come Eseguire n8n sul Tuo Proprio Server - DreamHost Blog","og_description":"L'hosting autonomo di n8n costa $4\u201310\/mese per esecuzioni di workflow illimitate. Scopri le specifiche del server, la configurazione di Docker Compose, la sicurezza e quando l'hosting autonomo supera n8n Cloud.","og_url":"https:\/\/www.dreamhost.com\/blog\/it\/come-eseguire-n8n-sul-tuo-proprio-server-it\/","og_site_name":"DreamHost Blog","article_publisher":"https:\/\/www.facebook.com\/DreamHost\/","article_published_time":"2026-06-18T15:00:00+00:00","article_modified_time":"2026-07-06T16:59:31+00:00","og_image":[{"width":1460,"height":1095,"url":"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/1460_x_1095_blog_hero_self_host_n8n.webp","type":"image\/webp"}],"author":"Dallas Kashuba","twitter_card":"summary_large_image","twitter_creator":"@http:\/\/twitter.com\/dallas","twitter_site":"@dreamhost","twitter_misc":{"Written by":"Dallas Kashuba","Est. reading time":"15 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.dreamhost.com\/blog\/it\/come-eseguire-n8n-sul-tuo-proprio-server-it\/#article","isPartOf":{"@id":"https:\/\/www.dreamhost.com\/blog\/it\/come-eseguire-n8n-sul-tuo-proprio-server-it\/"},"author":{"name":"Dallas Kashuba","@id":"https:\/\/www.dreamhost.com\/blog\/#\/schema\/person\/418697d2a49f38f84e7051458118d483"},"headline":"Come Eseguire n8n sul Tuo Proprio Server","datePublished":"2026-06-18T15:00:00+00:00","dateModified":"2026-07-06T16:59:31+00:00","mainEntityOfPage":{"@id":"https:\/\/www.dreamhost.com\/blog\/it\/come-eseguire-n8n-sul-tuo-proprio-server-it\/"},"wordCount":5775,"publisher":{"@id":"https:\/\/www.dreamhost.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.dreamhost.com\/blog\/it\/come-eseguire-n8n-sul-tuo-proprio-server-it\/#primaryimage"},"thumbnailUrl":"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/1460_x_1095_blog_hero_self_host_n8n.webp","articleSection":["Hosting VPS","IA"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.dreamhost.com\/blog\/it\/come-eseguire-n8n-sul-tuo-proprio-server-it\/","url":"https:\/\/www.dreamhost.com\/blog\/it\/come-eseguire-n8n-sul-tuo-proprio-server-it\/","name":"Come Eseguire n8n sul Tuo Proprio Server - DreamHost Blog","isPartOf":{"@id":"https:\/\/www.dreamhost.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.dreamhost.com\/blog\/it\/come-eseguire-n8n-sul-tuo-proprio-server-it\/#primaryimage"},"image":{"@id":"https:\/\/www.dreamhost.com\/blog\/it\/come-eseguire-n8n-sul-tuo-proprio-server-it\/#primaryimage"},"thumbnailUrl":"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/1460_x_1095_blog_hero_self_host_n8n.webp","datePublished":"2026-06-18T15:00:00+00:00","dateModified":"2026-07-06T16:59:31+00:00","description":"L'hosting autonomo di n8n costa $4\u201310\/mese per esecuzioni di workflow illimitate. Scopri le specifiche del server, la configurazione di Docker Compose, la sicurezza e quando l'hosting autonomo supera n8n Cloud.","breadcrumb":{"@id":"https:\/\/www.dreamhost.com\/blog\/it\/come-eseguire-n8n-sul-tuo-proprio-server-it\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.dreamhost.com\/blog\/it\/come-eseguire-n8n-sul-tuo-proprio-server-it\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.dreamhost.com\/blog\/it\/come-eseguire-n8n-sul-tuo-proprio-server-it\/#primaryimage","url":"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/1460_x_1095_blog_hero_self_host_n8n.webp","contentUrl":"https:\/\/www.dreamhost.com\/blog\/wp-content\/uploads\/2026\/06\/1460_x_1095_blog_hero_self_host_n8n.webp","width":1460,"height":1095,"caption":"How To Run n8n on Your Own Server"},{"@type":"BreadcrumbList","@id":"https:\/\/www.dreamhost.com\/blog\/it\/come-eseguire-n8n-sul-tuo-proprio-server-it\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/dhblog2.dream.press\/blog\/"},{"@type":"ListItem","position":2,"name":"Come Eseguire n8n sul Tuo Proprio Server"}]},{"@type":"WebSite","@id":"https:\/\/www.dreamhost.com\/blog\/#website","url":"https:\/\/www.dreamhost.com\/blog\/","name":"DreamHost Blog","description":"","publisher":{"@id":"https:\/\/www.dreamhost.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.dreamhost.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.dreamhost.com\/blog\/#organization","name":"DreamHost","url":"https:\/\/www.dreamhost.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.dreamhost.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/dhblog2.dream.press\/blog\/wp-content\/uploads\/2019\/01\/dh_logo-blue-2.png","contentUrl":"https:\/\/dhblog2.dream.press\/blog\/wp-content\/uploads\/2019\/01\/dh_logo-blue-2.png","width":1200,"height":168,"caption":"DreamHost"},"image":{"@id":"https:\/\/www.dreamhost.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/DreamHost\/","https:\/\/x.com\/dreamhost","https:\/\/www.instagram.com\/dreamhost\/","https:\/\/www.linkedin.com\/company\/dreamhost\/","https:\/\/www.youtube.com\/user\/dreamhostusa"]},{"@type":"Person","@id":"https:\/\/www.dreamhost.com\/blog\/#\/schema\/person\/418697d2a49f38f84e7051458118d483","name":"Dallas Kashuba","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/05ab6fb1606be97d16c74efb0fba01b3c11e91501dc5f9661bdfbb5c5b0cd113?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/05ab6fb1606be97d16c74efb0fba01b3c11e91501dc5f9661bdfbb5c5b0cd113?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/05ab6fb1606be97d16c74efb0fba01b3c11e91501dc5f9661bdfbb5c5b0cd113?s=96&d=mm&r=g","caption":"Dallas Kashuba"},"description":"Dallas Kashuba co-founded DreamHost while attending Harvey Mudd College and has spent nearly three decades building infrastructure at scale. Today he serves as an advisor, board member, and investor for various tech startups, with a consistent focus on user privacy, open source, and data portability. When he's not thinking about the Open Web, he's probably making music. Follow Dallas on X.","sameAs":["http:\/\/www.idallas.com\/","https:\/\/x.com\/http:\/\/twitter.com\/dallas"],"url":"https:\/\/www.dreamhost.com\/blog\/author\/dallas\/"}]}},"lang":"it","translations":{"it":82100,"en":83819,"es":82128,"pt":82098,"de":82110,"nl":82104,"fr":82140},"pll_sync_post":{},"_links":{"self":[{"href":"https:\/\/www.dreamhost.com\/blog\/wp-json\/wp\/v2\/posts\/82100","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.dreamhost.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.dreamhost.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.dreamhost.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"version-history":[{"count":0,"href":"https:\/\/www.dreamhost.com\/blog\/wp-json\/wp\/v2\/posts\/82100\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.dreamhost.com\/blog\/wp-json\/wp\/v2\/media\/81962"}],"wp:attachment":[{"href":"https:\/\/www.dreamhost.com\/blog\/wp-json\/wp\/v2\/media?parent=82100"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dreamhost.com\/blog\/wp-json\/wp\/v2\/categories?post=82100"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dreamhost.com\/blog\/wp-json\/wp\/v2\/tags?post=82100"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}