{"id":4722,"date":"2025-09-26T18:21:12","date_gmt":"2025-09-26T18:21:12","guid":{"rendered":"\/it\/tutorial\/?p=4722"},"modified":"2025-12-03T09:10:21","modified_gmt":"2025-12-03T09:10:21","slug":"come-ospitare-n8n-con-docker","status":"publish","type":"post","link":"\/it\/tutorial\/come-ospitare-n8n-con-docker\/","title":{"rendered":"Come ospitare n8n con Docker?"},"content":{"rendered":"<p class=\"wp-block-paragraph\">Eseguire n8n con Docker &egrave; un modo efficiente per ospitare autonomamente questo strumento di automazione del flusso di lavoro. A differenza dell&rsquo;installazione di n8n direttamente sul tuo server privato virtuale (VPS), Docker offre un ambiente containerizzato che isola n8n dal tuo sistema principale.<\/p><p class=\"wp-block-paragraph\">Questo semplifica l&rsquo;aggiornamento o il downgrade delle tue versioni di n8n, la scalabilit&agrave; della configurazione per supportare pi&ugrave; flussi di lavoro e persino la migrazione della tua istanza di n8n su un altro server.<\/p><p class=\"wp-block-paragraph\">In questa guida, imparerai come eseguire n8n utilizzando Docker e Docker Compose. Questo metodo consente di definire il server n8n, le variabili d&rsquo;ambiente e le dipendenze, come un database, in un unico file YAML.<\/p><p class=\"wp-block-paragraph\">Continua a leggere per istruzioni passo dopo passo su come installare, configurare, proteggere e aggiornare la tua istanza di n8n utilizzando Docker.<\/p><p>\n\n\n\n\n\n\n<\/p><h2 class=\"wp-block-heading\" id=\"h-come-ospitare-autonomamente-n8n-con-docker\"><strong>Come ospitare autonomamente n8n con Docker<\/strong><\/h2><p class=\"wp-block-paragraph\">Per avviare il self hosting di n8n con Docker, dovrai iniziare installando Docker e Docker Compose sul tuo VPS. Successivamente, dovrai creare un file Docker Compose per configurare il tuo servizio n8n. Infine, dovrai eseguire il container n8n utilizzando il comando <strong>docker compose up -d<\/strong>.<\/p><p class=\"wp-block-paragraph\">Quindi, puoi proteggere la tua configurazione n8n con SSL e un reverse proxy, modificare le variabili d&rsquo;ambiente secondo necessit&agrave; e aggiornare n8n ogni volta che vengono rilasciate nuove versioni.<\/p><p class=\"wp-block-paragraph\">Le sezioni seguenti spiegano ogni passaggio in modo pi&ugrave; dettagliato.<\/p><h3 class=\"wp-block-heading\" id=\"h-1-installa-docker-e-docker-compose\"><strong>1. Installa Docker e Docker Compose<\/strong><\/h3><p class=\"wp-block-paragraph\">Innanzitutto, assicurati che Docker sia installato sul tuo server. A partire da Docker <strong>v20.10.0<\/strong>, Docker Compose &egrave; incluso di default come plugin, quindi non &egrave; necessario installarlo separatamente.<\/p><p class=\"wp-block-paragraph\">Se usi l&rsquo;<a href=\"\/it\/vps\/docker-hosting\"><strong>hosting VPS Docker di Hostinger<\/strong><\/a>, sei fortunato: Docker &egrave; preinstallato, quindi puoi saltare completamente questo passaggio.<\/p><p class=\"wp-block-paragraph\">Gli utenti con piani VPS standard di Hostinger possono comunque<strong> <\/strong>installare Docker tramite un template preconfigurato o manualmente tramite riga di comando.<\/p><p class=\"wp-block-paragraph\">Se scegli quest&rsquo;ultima opzione, verifica l&rsquo;installazione eseguendo il seguente<strong> <\/strong>comando Linux nel terminale:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">docker -v<\/pre><p class=\"wp-block-paragraph\">Verr&agrave; visualizzata la versione di Docker installata, in questo modo:<\/p><div class=\"wp-block-image\">\n<figure data-wp-context='{\"imageId\":\"6a92914157627\"}' data-wp-interactive=\"core\/image\" data-wp-key=\"6a92914157627\" class=\"aligncenter size-large wp-lightbox-container\"><img decoding=\"async\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/2\/2025\/07\/terminal-docker-v.png\/w=1024,h=1024,fit=scale-down\" alt=\"Un output del terminale mostra la versione di Docker installata\" class=\"wp-image-131189\"><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" data-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on--click=\"actions.showLightbox\" data-wp-style--right=\"state.thisImage.buttonRight\" data-wp-style--top=\"state.thisImage.buttonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n<\/div><h3 class=\"wp-block-heading\" id=\"h-2-prepara-la-directory-dei-dati-n8n\"><strong>2. Prepara la directory dei dati n8n<\/strong><\/h3><p class=\"wp-block-paragraph\">Successivamente, crea le directory per memorizzare i dati e i file di configurazione di n8n. Esegui il comando seguente per creare la directory principale di n8n e accedi ad essa:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">mkdir ~\/n8n &amp;&amp; cd ~\/n8n<\/pre><p class=\"wp-block-paragraph\">All&rsquo;interno della directory appena creata, crea una sottodirectory chiamata <strong>n8n_data<\/strong> per memorizzare i dati persistenti di n8n:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">mkdir n8n_data<\/pre><p class=\"wp-block-paragraph\">Imposta la propriet&agrave; corretta per i dati persistenti, importante quando si esegue n8n con Docker:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">sudo chown -R 1000:1000 n8n_data<\/pre><div class=\"wp-block-image\">\n<figure data-wp-context='{\"imageId\":\"6a92914159e6a\"}' data-wp-interactive=\"core\/image\" data-wp-key=\"6a92914159e6a\" class=\"aligncenter size-large wp-lightbox-container\"><img decoding=\"async\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/2\/2025\/07\/terminal-mkdir-chown.png\/w=1024,h=1024,fit=scale-down\" alt=\"Un output del terminale dopo l'esecuzione dei comandi mkdir e chown\" class=\"wp-image-131191\"><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" data-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on--click=\"actions.showLightbox\" data-wp-style--right=\"state.thisImage.buttonRight\" data-wp-style--top=\"state.thisImage.buttonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n<\/div><h3 class=\"wp-block-heading\" id=\"h-3-crea-un-file-con-docker-compose-per-n8n\"><strong>3. Crea un file con Docker Compose per n8n<\/strong><\/h3><p class=\"wp-block-paragraph\">Dopo aver preparato le directory per n8n, crea un nuovo file Docker Compose per configurare le impostazioni di n8n, definire le variabili di ambiente e specificare i volumi necessari.<\/p><p class=\"wp-block-paragraph\">Puoi farlo usando l&rsquo;editor di testo nano:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">sudo nano docker-compose.yml<\/pre><p class=\"wp-block-paragraph\">Incolla il seguente contenuto, sostituendo <strong>yourUser <\/strong>e <strong>yourPassword <\/strong>con le tue credenziali preferite:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">services:\n\n&nbsp;&nbsp;n8n:\n\n&nbsp;&nbsp;&nbsp;&nbsp;image: n8nio\/n8n\n\n&nbsp;&nbsp;&nbsp;&nbsp;ports:\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- \"5678:5678\"\n\n&nbsp;&nbsp;&nbsp;&nbsp;environment:\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- N8N_BASIC_AUTH_ACTIVE=true\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- N8N_BASIC_AUTH_USER=yourUser\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- N8N_BASIC_AUTH_PASSWORD=yourPassword\n\n&nbsp;&nbsp;&nbsp;&nbsp;volumes:\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- .\/n8n_data:\/home\/node\/.n8n<\/pre><div class=\"wp-block-image\">\n<figure data-wp-context='{\"imageId\":\"6a9291415cb78\"}' data-wp-interactive=\"core\/image\" data-wp-key=\"6a9291415cb78\" class=\"aligncenter size-large wp-lightbox-container\"><img decoding=\"async\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/2\/2025\/07\/terminal-nano-docker-compose-yml.png\/w=1024,h=1024,fit=scale-down\" alt=\"Il contenuto del file docker-compose.yml\" class=\"wp-image-131192\"><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" data-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on--click=\"actions.showLightbox\" data-wp-style--right=\"state.thisImage.buttonRight\" data-wp-style--top=\"state.thisImage.buttonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n<\/div><p class=\"wp-block-paragraph\">Una volta fatto, salva le modifiche e esci da <strong>nano <\/strong>premendo <strong>Ctrl + X<\/strong> &rarr; <strong>Y &rarr; Invio.<\/strong><\/p><h3 class=\"wp-block-heading\" id=\"h-4-avvia-il-container-n8n\"><strong>4. Avvia il container n8n<\/strong><\/h3><p class=\"wp-block-paragraph\">Ora esegui il container n8n con questo comando:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">docker compose up -d<\/pre><p class=\"wp-block-paragraph\">Vedrai quindi il processo di avvio del container. Una volta completato, verranno visualizzate righe come <strong>Created<\/strong> e <strong>Started<\/strong>, simili all&rsquo;immagine seguente:<\/p><div class=\"wp-block-image\">\n<figure data-wp-context='{\"imageId\":\"6a9291415f29a\"}' data-wp-interactive=\"core\/image\" data-wp-key=\"6a9291415f29a\" class=\"aligncenter size-large wp-lightbox-container\"><img decoding=\"async\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/2\/2025\/07\/terminal-docker-compose-up.png\/w=1024,h=1024,fit=scale-down\" alt=\"Un output del terminale mostra un processo di creazione del container Docker riuscito\" class=\"wp-image-131193\"><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" data-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on--click=\"actions.showLightbox\" data-wp-style--right=\"state.thisImage.buttonRight\" data-wp-style--top=\"state.thisImage.buttonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n<\/div><p class=\"wp-block-paragraph\">Per verificare se il tuo container n8n &egrave; stato avviato, apri il seguente indirizzo nel tuo browser, sostituendo <strong>your_vps_ip<\/strong> con l&rsquo;indirizzo IP del tuo VPS:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">http:\/\/your_vps_ip:5678<\/pre><p class=\"wp-block-paragraph\">I clienti del VPS di Hostinger possono trovare l&rsquo;IP del loro server nel pannello di controllo hPanel andando su <strong>VPS &rarr;<\/strong> <strong>Gestisci &rarr; Panoramica &rarr; Dettagli VPS<\/strong>.<\/p><div class=\"wp-block-image\">\n<figure data-wp-context='{\"imageId\":\"6a929141617d9\"}' data-wp-interactive=\"core\/image\" data-wp-key=\"6a929141617d9\" class=\"aligncenter size-large wp-lightbox-container\"><img decoding=\"async\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/2\/2025\/07\/hpanel-vps-overview-ipv4-highlighted.png\/w=1024,h=1024,fit=scale-down\" alt=\"Panoramica del VPS di Hostinger nell'hPanel con iPv4 evidenziato\" class=\"wp-image-131194\"><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" data-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on--click=\"actions.showLightbox\" data-wp-style--right=\"state.thisImage.buttonRight\" data-wp-style--top=\"state.thisImage.buttonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n<\/div><p class=\"wp-block-paragraph\">Se visualizzi un avviso di errore relativo ai cookie protetti come nell&rsquo;immagine sottostante quando visiti l&rsquo;indirizzo, non preoccuparti. La tua istanza n8n &egrave; in realt&agrave; in esecuzione. L&rsquo;errore si verifica perch&eacute; l&rsquo;SSL non &egrave; configurato per connessioni sicure, ma risolverai questo problema nel passaggio successivo.<\/p><div class=\"wp-block-image\">\n<figure data-wp-context='{\"imageId\":\"6a92914163a48\"}' data-wp-interactive=\"core\/image\" data-wp-key=\"6a92914163a48\" class=\"aligncenter size-large wp-lightbox-container\"><img decoding=\"async\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/2\/2025\/07\/n8n-security-error-warning.png\/w=1024,h=1024,fit=scale-down\" alt=\"Avviso di errore di sicurezza n8n\" class=\"wp-image-131195\"><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" data-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on--click=\"actions.showLightbox\" data-wp-style--right=\"state.thisImage.buttonRight\" data-wp-style--top=\"state.thisImage.buttonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n<\/div><h3 class=\"wp-block-heading\" id=\"h-5-proteggi-n8n-con-un-ssl-e-un-proxy-inverso-nginx\"><strong>5. Proteggi n8n con un SSL e un proxy inverso NGINX<\/strong><\/h3><p class=\"wp-block-paragraph\">Per accedere in modo sicuro alla tua istanza n8n tramite HTTPS, dovrai emettere un certificato SSL e configurare un proxy inverso.<\/p><p class=\"wp-block-paragraph\">Prima di tutto, installa il server web<strong> <\/strong>NGINX sul tuo VPS:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">sudo apt install nginx -y<\/pre><p class=\"wp-block-paragraph\">Interrompi immediatamente il servizio NGINX temporaneamente:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">sudo systemctl stop nginx<\/pre><p class=\"wp-block-paragraph\">Successivamente, installa Certbot per ottenere il tuo certificato SSL:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">sudo apt install certbot -y<\/pre><p class=\"wp-block-paragraph\">Ottieni una versione stand-alone di Certbot con certificato SSL. Sostituisci <strong>yourdomain.tld<\/strong> con il tuo nome di dominio effettivo se lo hai<strong> <\/strong>indirizzato al tuo VPS. In caso contrario, emetti un certificato SSL per il tuo nome host:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">sudo certbot certonly --standalone -d yourdomain.tld<\/pre><p class=\"wp-block-paragraph\">Ti verr&agrave; chiesto di inserire un indirizzo email valido, accettare i termini di servizio e, facoltativamente, registrarti per ricevere email promozionali.<\/p><p class=\"wp-block-paragraph\">Una volta fatto, riavvia NGINX:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">sudo systemctl start nginx<\/pre><p class=\"wp-block-paragraph\">Dopodich&eacute;, crea un file di configurazione per impostare il proxy inverso con NGINX:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">sudo nano \/etc\/nginx\/sites-available\/n8n<\/pre><p class=\"wp-block-paragraph\">All&rsquo;interno del file, incolla i dettagli di configurazione qui sotto. Sostituisci <strong>yourdomain.tld<\/strong> con il tuo dominio o nome host.<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">server {\n\n&nbsp;&nbsp;&nbsp;&nbsp;listen 443 ssl;\n\n&nbsp;&nbsp;&nbsp;&nbsp;server_name yourdomain.tld;\n\n&nbsp;&nbsp;&nbsp;&nbsp;ssl_certificate \/etc\/letsencrypt\/live\/yourdomain.tld\/fullchain.pem;\n\n&nbsp;&nbsp;&nbsp;&nbsp;ssl_certificate_key \/etc\/letsencrypt\/live\/yourdomain.tld\/privkey.pem;\n\n&nbsp;&nbsp;&nbsp;&nbsp;location \/ {\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;proxy_pass http:\/\/localhost:5678;\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;proxy_set_header Host $host;\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;proxy_set_header X-Real-IP $remote_addr;\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;proxy_set_header X-Forwarded-Proto $scheme;\n\n&nbsp;&nbsp;&nbsp;&nbsp;}\n\n}\n\nserver {\n\n&nbsp;&nbsp;&nbsp;&nbsp;listen 80;\n\n&nbsp;&nbsp;&nbsp;&nbsp;server_name yourdomain.tld;\n\n&nbsp;&nbsp;&nbsp;&nbsp;return 301 https:\/\/$host$request_uri;\n\n}<\/pre><div class=\"wp-block-image\">\n<figure data-wp-context='{\"imageId\":\"6a92914166864\"}' data-wp-interactive=\"core\/image\" data-wp-key=\"6a92914166864\" class=\"aligncenter size-large wp-lightbox-container\"><img decoding=\"async\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/2\/2025\/07\/terminal-nano-n8n.png\/w=1024,h=1024,fit=scale-down\" alt=\"Il file di configurazione NGINX per il contenuto di n8n\" class=\"wp-image-131196\"><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" data-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on--click=\"actions.showLightbox\" data-wp-style--right=\"state.thisImage.buttonRight\" data-wp-style--top=\"state.thisImage.buttonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n<\/div><p class=\"wp-block-paragraph\">Dopo aver salvato il file e aver chiuso l&rsquo;editor, esegui questo comando per abilitare la configurazione:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">sudo ln -sf \/etc\/nginx\/sites-available\/n8n \/etc\/nginx\/sites-enabled\/n8n<\/pre><p class=\"wp-block-paragraph\">Verifica la configurazione di NGINX per eventuali errori:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">sudo nginx -t<\/pre><p class=\"wp-block-paragraph\">Ricarica il servizio NGINX per applicare le modifiche:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">sudo systemctl reload nginx<\/pre><h3 class=\"wp-block-heading\" id=\"h-6-accedi-alla-tua-istanza-n8n\"><strong>6. Accedi alla tua istanza n8n<\/strong><\/h3><p class=\"wp-block-paragraph\">Ora visita la tua istanza n8n utilizzando il dominio o il nome host configurato in precedenza. Visualizzerai la pagina di registrazione dell&rsquo;account proprietario di n8n, dove potrai registrarti con le tue credenziali preferite.<\/p><div class=\"wp-block-image\">\n<figure data-wp-context='{\"imageId\":\"6a92914169374\"}' data-wp-interactive=\"core\/image\" data-wp-key=\"6a92914169374\" class=\"aligncenter size-large wp-lightbox-container\"><img decoding=\"async\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/2\/2025\/07\/n8n-owner-account.png\/w=1024,h=1024,fit=scale-down\" alt=\"Pagina di registrazione dell'account proprietario di n8n\" class=\"wp-image-131197\"><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" data-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on--click=\"actions.showLightbox\" data-wp-style--right=\"state.thisImage.buttonRight\" data-wp-style--top=\"state.thisImage.buttonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n<\/div><p class=\"wp-block-paragraph\">Dopodich&eacute;, apri la dashboard di n8n per iniziare a creare flussi di lavoro di automazione. <\/p><p class=\"wp-block-paragraph\">Se non vuoi partire da zero, trova dei<strong> <\/strong>template n8n gi&agrave; pronti.<\/p><p class=\"wp-block-paragraph\">Non dimenticare di esplorare le<strong> <\/strong>integrazioni di n8n per vedere cosa puoi collegare, quali strumenti utilizzare e i casi d&rsquo;uso per ciascuna integrazione.<\/p><h3 class=\"wp-block-heading\" id=\"h-7-modifica-le-variabili-d-ambiente-n8n\"><strong>7. Modifica le variabili d&rsquo;ambiente n8n<\/strong><\/h3><p class=\"wp-block-paragraph\">Durante la gestione dell&rsquo;istanza n8n, potrebbe essere necessario modificare le variabili d&rsquo;ambiente per configurare le connessioni al database, abilitare l&rsquo;autenticazione, integrare servizi di terze parti o migliorare la sicurezza.<\/p><p class=\"wp-block-paragraph\">Per farlo, torna al terminale e modifica il file Docker Compose:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">sudo nano docker-compose.yml<\/pre><p class=\"wp-block-paragraph\">Nella sezione <strong>ambiente<\/strong>, aggiungi o modifica le impostazioni di configurazione per il tuo container n8n. Ecco alcune delle variabili pi&ugrave; comunemente utilizzate:<\/p><ul class=\"wp-block-list\">\n<li><strong>N8N_ENCRYPTION_KEY<\/strong> &ndash; crittografa le credenziali nel database per una maggiore sicurezza.<\/li>\n<\/ul><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">- N8N_ENCRYPTION_KEY=yourStrongRandomString<\/pre><ul class=\"wp-block-list\">\n<li><strong>N8N_HOST<\/strong>, <strong>N8N_PORT<\/strong>, <strong>N8N_PROTOCOL<\/strong> &ndash; garantisce che n8n generi URL corretti, soprattutto dietro un proxy inverso o quando si utilizza un SSL.<\/li>\n<\/ul><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">- N8N_HOST=yourdomain.tld\n\n- N8N_PORT=5678\n\n- N8N_PROTOCOL=https<\/pre><ul class=\"wp-block-list\">\n<li><strong>WEBHOOK_URL<\/strong> &ndash; imposta l&rsquo;URL pubblico per i webhook, importante se si utilizza HTTPS o un dominio personalizzato.<\/li>\n<\/ul><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">- WEBHOOK_URL=https:\/\/youdomain.tld<\/pre><ul class=\"wp-block-list\">\n<li><strong>DB_TYPE<\/strong>, <strong>DB_POSTGRESDB<\/strong> &ndash; consente di utilizzare PostgreSQL al posto del predefinito SQLite per ottenere prestazioni e scalabilit&agrave; migliori.<\/li>\n<\/ul><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">- DB_TYPE=postgresdb\n\n- DB_POSTGRESDB_HOST=your_postgres_host\n\n- DB_POSTGRESDB_PORT=5432\n\n- DB_POSTGRESDB_DATABASE=your_database_name\n\n- DB_POSTGRESDB_USER=your_db_user\n\n- DB_POSTGRESDB_PASSWORD=your_db_password<\/pre><ul class=\"wp-block-list\">\n<li><strong>TZ<\/strong> &ndash; imposta il fuso orario per n8n.<\/li>\n<\/ul><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">- TZ=UTC<\/pre><p class=\"wp-block-paragraph\">Salva il file dopo aver apportato le modifiche necessarie.<\/p><p class=\"wp-block-paragraph\">Quindi, esegui il seguente comando Docker per arrestare il container n8n:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">docker compose down<\/pre><p class=\"wp-block-paragraph\">Ripristina il container con le variabili di ambiente aggiornate:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">docker compose up -d<\/pre><div class=\"wp-block-image\">\n<figure data-wp-context='{\"imageId\":\"6a9291416c487\"}' data-wp-interactive=\"core\/image\" data-wp-key=\"6a9291416c487\" class=\"aligncenter size-large wp-lightbox-container\"><img decoding=\"async\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/2\/2025\/07\/terminal-docker-compose-down-up.png\/w=1024,h=1024,fit=scale-down\" alt=\"Un output del terminale mostra il processo di ricreazione del container n8n dopo aver modificato le variabili di ambiente\" class=\"wp-image-131198\"><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" data-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on--click=\"actions.showLightbox\" data-wp-style--right=\"state.thisImage.buttonRight\" data-wp-style--top=\"state.thisImage.buttonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n<\/div><p>\n\n        <div class=\"protip\">\n            <div class=\"protip__heading\">\n                <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                    <path d=\"M1.49234 23.5024C1.23229 23.5024 0.972242 23.4024 0.782206 23.2123C0.562165 22.9923 0.452144 22.6822 0.502153 22.3722C0.562165 21.9221 1.14227 17.9113 3.00262 16.351C3.63274 15.8209 4.43289 15.5509 5.26305 15.5609C6.09321 15.5909 6.87335 15.9109 7.47347 16.4911C8.6937 17.6913 8.76371 19.6717 7.6435 20.9919C6.0832 22.8523 2.08245 23.4324 1.63237 23.4924C1.59236 23.4924 1.54235 23.4924 1.50234 23.4924L1.49234 23.5024ZM5.16303 17.5613C4.84297 17.5613 4.53291 17.6713 4.29287 17.8813C3.60274 18.4614 3.07264 19.9317 2.75258 21.242C4.06282 20.9219 5.5331 20.3918 6.11321 19.7017C6.55329 19.1716 6.54329 18.3814 6.0832 17.9213C5.85316 17.7013 5.5431 17.5713 5.20304 17.5613C5.19304 17.5613 5.17303 17.5613 5.16303 17.5613ZM11.7243 21.8821C11.4942 21.8821 11.2642 21.8021 11.0841 21.652C10.8541 21.462 10.7241 21.1819 10.7241 20.8819V15.9109L8.08358 13.2705H3.11264C2.81259 13.2705 2.53254 13.1404 2.3425 12.9104C2.15246 12.6803 2.07245 12.3803 2.12246 12.0902C2.19247 11.7102 2.84259 8.36953 4.70294 7.12929C6.33325 6.04909 8.96375 6.49918 10.244 6.80923C11.5442 4.96889 13.2546 3.4286 15.2349 2.33839C17.4553 1.11816 19.9858 0.518051 22.4963 0.498047C23.0464 0.498047 23.4865 0.948132 23.4865 1.49824C23.4865 5.0389 22.3763 9.97983 17.1753 13.7605C17.4853 15.0408 17.9354 17.6613 16.8552 19.2816C15.615 21.1419 12.2744 21.7921 11.8943 21.8621C11.8343 21.8721 11.7743 21.8821 11.7143 21.8821H11.7243ZM12.7245 16.181V19.6016C13.7146 19.2916 14.7948 18.7915 15.2049 18.1814C15.675 17.4812 15.605 16.091 15.385 14.9008C14.5248 15.3808 13.6346 15.8109 12.7245 16.181ZM9.66388 12.0302L11.9643 14.3307C13.1845 13.8306 14.3648 13.2204 15.485 12.5103C19.9358 9.51974 21.2361 5.60901 21.4561 2.53843C19.6157 2.67846 17.8254 3.20856 16.2051 4.09872C14.2847 5.14892 12.6544 6.68921 11.4942 8.54956C10.7841 9.65977 10.174 10.82 9.66388 12.0302ZM4.39289 11.2701H7.81353C8.1936 10.3599 8.63368 9.46974 9.11377 8.60957C7.92355 8.38953 6.51329 8.31952 5.81315 8.78961C5.19304 9.19968 4.70294 10.3099 4.39289 11.2701Z\" fill=\"#673DE6\"\/>\n                <\/svg>\n                <p class=\"protip__title\">\n                    &#128161; Suggerimento                <\/p>\n            <\/div>\n            <p class=\"protip__content\"> Se vuoi semplicemente riavviare il tuo container Docker n8n senza modificare il file Compose, usa invece il comando <strong>docker compose restart<\/strong>.<\/p>\n                    <\/div>\n        \n\n\n\n<\/p><h3 class=\"wp-block-heading\" id=\"h-8-aggiorna-n8n-all-ultima-versione\"><strong>8. Aggiorna n8n all&rsquo;ultima versione<\/strong><\/h3><p class=\"wp-block-paragraph\">Ti consigliamo di aggiornare periodicamente n8n all&rsquo;ultima versione per ridurre al minimo i rischi per la sicurezza e sfruttare le nuove funzionalit&agrave; e i miglioramenti.<\/p><p class=\"wp-block-paragraph\">Per aggiornarlo, estrai prima di tutto l&rsquo;ultima immagine n8n da Docker Hub:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">docker pull n8nio\/n8n<\/pre><p class=\"wp-block-paragraph\">Quindi, riavvia il container n8n con l&rsquo;immagine aggiornata:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">docker compose up -d<\/pre><div class=\"wp-block-image\">\n<figure data-wp-context='{\"imageId\":\"6a9291416f46c\"}' data-wp-interactive=\"core\/image\" data-wp-key=\"6a9291416f46c\" class=\"aligncenter size-large wp-lightbox-container\"><img decoding=\"async\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/2\/2025\/07\/terminal-docker-pull-compose-up.png\/w=1024,h=1024,fit=scale-down\" alt=\"Un output del terminale mostra il processo di aggiornamento del container n8n\" class=\"wp-image-131199\"><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" data-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on--click=\"actions.showLightbox\" data-wp-style--right=\"state.thisImage.buttonRight\" data-wp-style--top=\"state.thisImage.buttonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n<\/div><h2 class=\"wp-block-heading\" id=\"h-quali-sono-le-best-practice-per-gestire-n8n-con-docker\"><strong>Quali sono le best practice per gestire n8n con Docker?<\/strong><\/h2><p class=\"wp-block-paragraph\">Ecco alcune delle best practice per la gestione di n8n con Docker, tra cui alcune gi&agrave; illustrate in questo tutorial:<\/p><ul class=\"wp-block-list\">\n<li><strong>Monta i volumi Docker.<\/strong> Monta una directory host come <strong>.\/n8n_data:\/home\/node\/.n8n<\/strong> per rendere persistenti flussi di lavoro, credenziali e dati di esecuzione all&rsquo;esterno del container . Questo garantisce che i dati sopravvivano ad aggiornamenti, riavvii o ricreazioni del container.<\/li>\n\n\n\n<li><strong>Configura le variabili d&rsquo;ambiente. <\/strong>In <strong>docker-compose.yml, <\/strong>imposta le chiavi API, i segreti dei webhook, le credenziali del database e altri dati sensibili come variabili d&rsquo;ambiente. In questo modo, i segreti rimangono al di fuori dei flussi di lavoro e del codice sorgente, migliorando la sicurezza e semplificando la rotazione delle chiavi.<\/li>\n\n\n\n<li><strong>Accedi in sicurezza. <\/strong>Abilita sempre l&rsquo;autenticazione di base (<strong>N8N_BASIC_AUTH_ACTIVE=true<\/strong>) e usa nomi utente e password complessi. Per una comunicazione sicura, posiziona n8n dietro un reverse proxy come NGINX con SSL, in modo che tutti i dati, comprese le credenziali, siano crittografati e non testo puro.<\/li>\n\n\n\n<li><strong>Esegui backup regolari. <\/strong>Esegui periodicamente il backup della cartella host mappata su <strong>\/home\/node\/.n8n<\/strong>, non del percorso interno del container. Per un container in esecuzione, utilizza il comando seguente:<\/li>\n<\/ul><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">docker cp n8n:\/home\/node\/.n8n \/path\/to\/backup\/folder<\/pre><ul class=\"wp-block-list\">\n<li><strong>Imposta limiti per le risorse. <\/strong>Nel file <strong>docker-compose.yml<\/strong>, imposta i limiti per CPU e memoria per impedire a n8n di utilizzare eccessivamente le risorse del tuo VPS. Ad esempio:<\/li>\n<\/ul><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">deploy:\n  resources:\n    limits:\n      cpus: '1'\n      memory: 1G<\/pre><ul class=\"wp-block-list\">\n<li><strong>Monitora i log e le prestazioni. <\/strong>Esegui <strong>docker compose logs n8n<\/strong> per esaminare i log e risolvere i problemi. Per un monitoraggio continuo, valuta l&rsquo;integrazione con un sistema come lo stack LGTM per ricevere avvisi in caso di inattivit&agrave; o malfunzionamento di n8n.<\/li>\n<\/ul><h3 class=\"wp-block-heading\" id=\"h-perche-hostinger-e-il-modo-migliore-per-ospitare-la-tua-configurazione-di-n8n-con-docker\"><strong>Perch&eacute; Hostinger &egrave; il modo migliore per ospitare la tua configurazione di n8n con Docker?<\/strong><\/h3><p class=\"wp-block-paragraph\">Docker semplifica e rende flessibile il self hosting di n8n, offrendo un ambiente portabile e coerente su tutti i sistemi. Tuttavia, per garantirne l&rsquo;affidabilit&agrave; 24\/7, non &egrave; possibile fare affidamento sul proprio computer personale: <strong>&egrave; necessario un VPS<\/strong>.<\/p><p class=\"wp-block-paragraph\">Un VPS funziona ininterrottamente, quindi i tuoi flussi di lavoro rimangono attivi anche quando il computer &egrave; spento o disconnesso. Inoltre, ti consente di accedere e gestire n8n in modo sicuro da qualsiasi luogo, non solo dalla tua rete locale.<\/p><p class=\"wp-block-paragraph\">Le soluzioni VPS Docker di Hostinger sono una scelta eccellente per il self hosting di app containerizzate come n8n. Docker e tutti i componenti necessari sono preinstallati, cos&igrave; puoi distribuire n8n rapidamente senza configurazioni aggiuntive.<\/p><p class=\"wp-block-paragraph\">Offriamo diversi data center in varie regioni, cos&igrave; puoi scegliere un server pi&ugrave; vicino a te per una latenza minima. Inoltre, con la garanzia di uptime del <strong>99,9%<\/strong> di Hostinger, i tuoi flussi di lavoro di automazione rimangono online in modo affidabile 24 ore su 24.<\/p><p class=\"wp-block-paragraph\">A partire da <strong><strong>5,49 \u20ac<\/strong>\/mese<\/strong>, i nostri piani Docker VPS includono fino a <strong>8 <\/strong>core vCPU, <strong>32 GB<\/strong> di RAM e <strong>400 GB <\/strong>di memoria NVMe. Puoi iniziare con un piano base e passare a un piano superiore in pochi click man mano che le tue esigenze di automazione aumentano.<\/p><p class=\"wp-block-paragraph\">La sicurezza &egrave; una priorit&agrave;: backup automatici, protezione DDoS avanzata e uno scanner malware proteggono i tuoi dati, bloccano gli attacchi e impediscono interruzioni alla configurazione n8n.<\/p><figure class=\"wp-block-image size-large\"><a href=\"\/it\/vps\" target=\"_blank\" rel=\"noreferrer noopener\"><img decoding=\"async\" width=\"2048\" height=\"600\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/27\/2024\/02\/IT-VPS-hosting_in-text-banner.png\/w=1024,h=1024,fit=scale-down\" alt=\"\" class=\"wp-image-1333\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/27\/2024\/02\/IT-VPS-hosting_in-text-banner.png\/w=2048,fit=scale-down 2048w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/27\/2024\/02\/IT-VPS-hosting_in-text-banner.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/27\/2024\/02\/IT-VPS-hosting_in-text-banner.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/27\/2024\/02\/IT-VPS-hosting_in-text-banner.png\/w=768,fit=scale-down 768w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/27\/2024\/02\/IT-VPS-hosting_in-text-banner.png\/w=1536,fit=scale-down 1536w\" sizes=\"(max-width: 2048px) 100vw, 2048px\" \/><\/a><\/figure><h2 class=\"wp-block-heading\" id=\"h-cosa-succedera-dopo-il-self-hosting-di-n8n-con-docker\"><strong>Cosa succeder&agrave; dopo il self hosting di n8n con Docker?<\/strong><\/h2><p class=\"wp-block-paragraph\">Il self hosting di n8n con Docker ti offre pieno controllo, flessibilit&agrave; e scalabilit&agrave; per l&rsquo;automazione dei tuoi flussi di lavoro. Ti consente di gestire un potente strumento di automazione secondo le tue esigenze, in modo sicuro, affidabile e con spazio di crescita.<\/p><p class=\"wp-block-paragraph\">Mentre continui a sviluppare e gestire la tua configurazione n8n, ecco cosa puoi fare:<\/p><ul class=\"wp-block-list\">\n<li><strong>Esplorare idee di automazione<\/strong>. Scopri<strong> <\/strong>cosa puoi automatizzare con n8n per trovare ispirazione e semplificare le attivit&agrave; ripetitive.<\/li>\n\n\n\n<li><strong>Scalare la tua configurazione n8n<\/strong>.<strong> <\/strong>Distribuisci uno stack Docker per scalare n8n su pi&ugrave; server e gestire i servizi in un cluster swarm.<\/li>\n\n\n\n<li><strong>Proteggere il tuo server<\/strong>. Segui le migliori pratiche di<strong> <\/strong>sicurezza del VPS, come cambiare la porta SSH, disabilitare l&rsquo;accesso root e impostare un firewall, per proteggere la tua istanza n8n.<\/li>\n\n\n\n<li><strong>Usare n8n con MCP<\/strong>. Esponi i tuoi flussi di lavoro agli agenti AI e abilita l&rsquo;automazione contestuale<strong> <\/strong>integrando n8n con il model context protocol (MCP).<\/li>\n<\/ul><p class=\"wp-block-paragraph\">Se hai ancora domande sull&rsquo;esecuzione e la gestione di n8n con Docker, sentiti libero di lasciare un commento qui sotto.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Eseguire n8n con Docker &egrave; un modo efficiente per ospitare autonomamente questo strumento di automazione del flusso di lavoro. A differenza dell&rsquo;installazione di n8n direttamente sul tuo server privato virtuale (VPS), Docker offre un ambiente containerizzato che isola n8n dal tuo sistema principale. Questo semplifica l&rsquo;aggiornamento o il downgrade delle tue versioni di n8n, la [&#8230;]<\/p>\n<p><a class=\"btn btn-secondary understrap-read-more-link\" href=\"\/it\/tutorial\/come-ospitare-n8n-con-docker\/\">Read More&#8230;<\/a><\/p>\n","protected":false},"author":548,"featured_media":4725,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"rank_math_title":"Come ospitare n8n con Docker","rank_math_description":"Scopri come ospitare autonomamente n8n con Docker e Docker Compose su un VPS. Configura, proteggi, modifica e aggiorna il tuo container n8n.","rank_math_focus_keyword":"come ospitare n8n con docker","footnotes":""},"categories":[226,188],"tags":[],"class_list":["post-4722","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-applicazioni-preinstallate","category-vps"],"hreflangs":[{"locale":"en-US","link":"https:\/\/www.hostinger.com\/tutorials\/how-to-self-host-n8n-with-docker\/","default":1},{"locale":"pt-BR","link":"https:\/\/www.hostinger.com\/br\/tutoriais\/n8n-docker\/","default":0},{"locale":"fr-FR","link":"https:\/\/www.hostinger.com\/fr\/tutoriels\/executer-n8n-avec-docker\/","default":0},{"locale":"es-ES","link":"https:\/\/www.hostinger.com\/es\/tutoriales\/como-instalar-n8n-en-docker\/","default":0},{"locale":"id-ID","link":"https:\/\/www.hostinger.com\/id\/tutorial\/cara-menjalankan-n8n-docker\/","default":0},{"locale":"de-DE","link":"https:\/\/www.hostinger.com\/de\/tutorials\/n8n-docker-hosting\/","default":0},{"locale":"it-IT","link":"https:\/\/www.hostinger.com\/it\/tutorial\/come-ospitare-n8n-con-docker\/","default":0},{"locale":"nl-NL","link":"https:\/\/www.hostinger.com\/nl\/tutorials\/n8n-met-docker-installeren\/","default":0},{"locale":"en-PH","link":"https:\/\/www.hostinger.com\/ph\/tutorials\/how-to-self-host-n8n-with-docker\/","default":0},{"locale":"en-MY","link":"https:\/\/www.hostinger.com\/my\/tutorials\/how-to-self-host-n8n-with-docker\/","default":0},{"locale":"en-GB","link":"https:\/\/www.hostinger.com\/uk\/tutorials\/how-to-self-host-n8n-with-docker\/","default":0},{"locale":"en-IN","link":"https:\/\/www.hostinger.com\/in\/tutorials\/how-to-self-host-n8n-with-docker\/","default":0},{"locale":"en-CA","link":"https:\/\/www.hostinger.com\/ca\/tutorials\/how-to-self-host-n8n-with-docker\/","default":0},{"locale":"en-AU","link":"https:\/\/www.hostinger.com\/au\/tutorials\/how-to-self-host-n8n-with-docker\/","default":0},{"locale":"en-NG","link":"https:\/\/www.hostinger.com\/ng\/tutorials\/how-to-self-host-n8n-with-docker\/","default":0},{"locale":"es-AR","link":"https:\/\/www.hostinger.com\/ar\/tutoriales\/como-instalar-n8n-en-docker\/","default":0},{"locale":"es-MX","link":"https:\/\/www.hostinger.com\/mx\/tutoriales\/como-instalar-n8n-en-docker\/","default":0},{"locale":"es-CO","link":"https:\/\/www.hostinger.com\/co\/tutoriales\/como-instalar-n8n-en-docker\/","default":0},{"locale":"pt-PT","link":"https:\/\/www.hostinger.com\/pt\/tutoriais\/n8n-docker\/","default":0}],"_links":{"self":[{"href":"https:\/\/www.hostinger.com\/it\/tutorial\/wp-json\/wp\/v2\/posts\/4722","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.hostinger.com\/it\/tutorial\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.hostinger.com\/it\/tutorial\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.hostinger.com\/it\/tutorial\/wp-json\/wp\/v2\/users\/548"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hostinger.com\/it\/tutorial\/wp-json\/wp\/v2\/comments?post=4722"}],"version-history":[{"count":4,"href":"https:\/\/www.hostinger.com\/it\/tutorial\/wp-json\/wp\/v2\/posts\/4722\/revisions"}],"predecessor-version":[{"id":5637,"href":"https:\/\/www.hostinger.com\/it\/tutorial\/wp-json\/wp\/v2\/posts\/4722\/revisions\/5637"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.hostinger.com\/it\/tutorial\/wp-json\/wp\/v2\/media\/4725"}],"wp:attachment":[{"href":"https:\/\/www.hostinger.com\/it\/tutorial\/wp-json\/wp\/v2\/media?parent=4722"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hostinger.com\/it\/tutorial\/wp-json\/wp\/v2\/categories?post=4722"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hostinger.com\/it\/tutorial\/wp-json\/wp\/v2\/tags?post=4722"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}