Negli ultimi anni n8n ha guadagnato grande popolarità come soluzione open-source per l'automazione dei processi aziendali e, più recentemente, come piattaforma di supporto per flussi legati all'intelligenza artificiale e all'integrazione con modelli LLM (Large Language Model). È un sistema di workflow automation che consente di creare flussi tra applicazioni, API e servizi di AI senza scrivere codice complesso, grazie a un'interfaccia visuale intuitiva e modulare. Sempre più aziende lo utilizzano per orchestrare prompt, automatizzare analisi di testo o immagini e connettere modelli linguistici con sistemi aziendali. La sua architettura estensibile e il supporto per centinaia di integrazioni lo rendono uno strumento ideale per coordinare attività tra API, database, servizi cloud e piattaforme di machine learning.

Quando vogliamo ospitare un'installazione di n8n in modo stabile e scalabile, Azure App Service rappresenta una scelta molto pratica, soprattutto per una configurazione di base. Questo servizio gestito da Microsoft consente di eseguire container Docker senza preoccuparsi di infrastruttura, patch di sicurezza o bilanciamento del carico. Inoltre, offre la possibilità di configurare variabili d'ambiente, storage persistente e aggiornamenti automatici, tutti elementi ideali per un'applicazione come n8n che deve funzionare in modo continuo.
Per configurare n8n su Azure App Service, creiamo una nuova App Service su Linux e scegliamo di utilizzare un container Docker personalizzato. Nella sezione Container settings, impostiamo Other container registries come Image source, selezioniamo Public come Image type, inseriamo index.docker.io come Registry server URL e impostiamo n8nio/n8n:latest come Image and tag. La porta deve essere 5678, che è quella predefinita usata da n8n.

Per quanto riguarda l'archiviazione dei dati, è importante sapere che n8n utilizza per impostazione predefinita un database SQLite, salvando i file di configurazione e i dati del flusso nella cartella /home/node/.n8n. In Azure App Service, la directory /home è collegata a uno Azure Storage persistente. Questo significa che tutti i dati salvati in tale percorso sopravvivono ai riavvii, agli aggiornamenti o ai ridistribuzioni del container, garantendo la conservazione dei flussi creati e delle impostazioni dell'applicazione. In questo modo, non è necessario configurare un database esterno per una semplice installazione di test o di base.
Dopo aver definito il container, aggiungiamo nella sezione Configuration le variabili d'ambiente necessarie per far comunicare correttamente n8n con Azure:
- GENERIC_TIMEZONE: serve per impostare il fuso orario, ad esempio Europe/Rome.
- N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS: impostato su false, evita errori di permessi in ambienti gestiti.
- N8N_HOST e N8N_PUBLIC_URL: devono contenere il dominio pubblico completo del servizio.
- N8N_PORT e WEBSITES_PORT: devono essere impostati su 5678 per garantire la corretta comunicazione tra container e App Service.
- N8N_RUNNERS_ENABLED: attiva l'esecuzione parallela dei flussi di lavoro.
- WEBHOOK_URL: indica l'indirizzo HTTPS completo a cui n8n riceve i webhook.
- WEBSITES_ENABLE_APP_SERVICE_STORAGE: deve essere true per mantenere il collegamento con lo storage persistente.
Una volta salvate le impostazioni, possiamo riavviare l'App Service. Azure scaricherà l'immagine n8n, configurerà il container e attiverà il servizio. Dopo qualche minuto sarà possibile accedere all'interfaccia web all'indirizzo pubblico indicato e iniziare a costruire automazioni.
Questa configurazione consente di avere un'installazione di n8n stabile e autonoma, capace di conservare i dati nel tempo e facilmente scalabile in futuro.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Disabilitare la telemetria nella CLI di GitHub
Creare una cache temporanea in JavaScript
Dallo sviluppo locale ad Azure con .NET Aspire
Utilizzare Intersect e Except per filtrare set di dati in TSql
Azure SQL Database per dev: tutte le novità da non perdere
Recuperare gli audit log in Azure DevOps
Modificare lo stile in una QuickGrid Blazor
Gestione delle scrollbar dinamiche in HTML e CSS
Creare espressioni riutilizzabili nelle query LINQ per Entity Framework
Rendere affidabile lo scale out su Azure App Service
Utilizzo di CSS Scroll Snap per realizzare un carousel
Esporre un server MCP esistente con Azure API Management


