Come gestire Langflow in self-hosting nel 2026: flow, accesso API e stato persistente
Gestisci Langflow in self-hosting con porte corrette, storage persistente, HTTPS, secret, backup e verifiche degli upgrade. Scopri come risolvere il problema di un secret che cambia dopo il riavvio.
Considera Langflow come un piccolo sistema, non come una semplice immagine Docker. L'obiettivo per chi usa Langflow è chiaro: un visual LLM workflow builder che espone i flow tramite API; il deployment è accettabile solo quando puoi creare un flow con le credenziali di un provider, eseguirlo nell'editor, chiamare la sua API e verificare la risposta dopo il riavvio di un servizio.
Questa distinzione permette di individuare il problema che gli operatori incontrano dopo i test locali: un secret cambia dopo il riavvio oppure mancano le dipendenze dei componenti. Inoltre, rende il piano di backup e upgrade abbastanza specifico da poter essere verificato.
Definisci prima il criterio di successo per Langflow
Non lasciare che sia l'immagine di Langflow a determinare per caso l'architettura di produzione. L'immagine fornisce un processo sulla porta 7860; storage, routing e requisiti esterni richiedono comunque cicli di vita definiti consapevolmente. Il contratto di rete per Langflow prevede Postgres per lo stato persistente e le credenziali dei model provider. Mantieni gli endpoint privati su DNS interno, consenti solo le chiamate outbound necessarie e assegna a Langflow credenziali di servizio con permessi limitati.
Il deployment è pronto per test più approfonditi quando può creare un flow con le credenziali di un provider, eseguirlo nell'editor, chiamare la sua API e verificare la risposta dopo il riavvio di un servizio. Segui la transazione nei log e monitora l'esecuzione dei componenti, la latenza del modello, le chiamate API parallele, il parsing dei file e il numero di connessioni al database. Queste osservazioni mostrano se la topologia attuale isola il componente corretto.
Avvia Langflow con impostazioni predefinite osservabili
Mantieni l'invocazione iniziale di Langflow abbastanza riproducibile da poterla verificare in una pull request.
docker run -d \
--name langflow \
--restart unless-stopped \
-p 127.0.0.1:7860:7860 \
-v langflow-data:/app/langflow \
-e LANGFLOW_SECRET_KEY=replace-with-a-long-random-value \
langflowai/langflow:latest
Non affidarti a latest dopo che esistono dati reali. Registra il digest funzionante, l'utente del container e i permessi del mount. Segui il log dell'applicazione per tutta la durata di un test completo — crea un flow con le credenziali di un provider, eseguilo nell'editor, chiama la sua API e verifica la risposta dopo il riavvio di un servizio — e annota eventuali migration prima di esporre la route al traffico di produzione.
Testa Langflow dall'esterno del server
Considera l'URL esterno di Langflow come una configurazione che deve sopravvivere ai redeploy. Prima imposta l'indirizzo pubblico utilizzato dai client API e dai callback di autenticazione; poi instrada l'hostname verso la porta 7860 mantenendo invariati host e scheme originali.
La checklist per verificare la raggiungibilità del deployment può dimostrare che le richieste entrano nel container. Da quel momento, il problema noto — un secret cambia dopo il riavvio oppure mancano le dipendenze dei componenti — va analizzato in Langflow, nel suo stato o nel suo workload, non nell'automazione dei certificati.
Separa i container sostituibili dai dati persistenti
Un'immagine del container può essere scaricata di nuovo; flow, database, API key e file caricati no. Esegui il mount di /app/langflow prima del bootstrap, scrivi dati di esempio innocui e sostituisci il container per dimostrare che quel percorso è realmente persistente. Controlla il mount effettivo invece di fidarti del nome di un file Compose e verifica che l'utente runtime possa scrivere nella posizione prevista da Langflow.
Scegli la retention e una destinazione off-host, poi prova il ripristino senza intervenire sulla produzione. Il test è superato solo quando flow, utenti, credenziali e file vengono ripristinati e un client API esistente può eseguire il flow ripristinato. Per lo stato basato su database, affianca agli snapshot dello storage export coerenti con l'applicazione, come descritto in point-in-time recovery e snapshot.
Decisioni di sicurezza specifiche per Langflow
Non ereditare le ipotesi di sicurezza di un tutorial locale. Il rischio specifico di Langflow consiste nell'esporre la creazione dei flow e le chiavi dei provider salvate senza autenticazione. In produzione devi quindi proteggere il builder, limitare l'accesso alle API e conservare le credenziali dei modelli in uno storage server-side cifrato.
Gestisci LANGFLOW_SECRET_KEY in base al suo ruolo in Langflow: mantieni i valori sensibili fuori da Git, documenta gli effetti della rotazione e non sostituire mai un esempio pubblico in produzione. Limita l'accesso al filesystem e alla rete, proteggi gli endpoint di setup e definisci limiti per upload, richieste o esecuzioni in relazione all'esecuzione dei componenti, alla latenza del modello, alle chiamate API parallele, al parsing dei file e al numero di connessioni al database.
Verifiche di capacità e upgrade
La prima metrica operativa utile per Langflow indica se può creare un flow con le credenziali di un provider, eseguirlo nell'editor, chiamare la sua API e verificare la risposta dopo il riavvio di un servizio. Affiancala ai segnali di saturazione relativi all'esecuzione dei componenti, alla latenza del modello, alle chiamate API parallele, al parsing dei file e al numero di connessioni al database. Un probe che verifica solo il processo non dovrebbe chiamare dipendenze costose né riavviare il container perché un upstream è temporaneamente non disponibile.
Considera gli upgrade come modifiche ai dati, perché i pacchetti dei componenti, le migration del database e i flow serializzati possono cambiare tra le release di Langflow. Fissa le versioni, esegui le prove su uno stato ripristinato e conserva l'immagine precedente finché il rollback non sarà più valido. Quando un secret cambia dopo il riavvio oppure mancano le dipendenze dei componenti, conserva i log precedenti al riavvio: di solito contengono il messaggio che spiega la causa.
Registra un deployment Langflow verificato
Trasforma lo smoke test di Langflow in un comando di release ripetibile o in una breve runbook. Il risultato deve dimostrare questo esito: crea un flow con le credenziali di un provider, eseguilo nell'editor, chiama la sua API e verifica la risposta dopo il riavvio di un servizio. Registra insieme al risultato la versione dell'applicazione, il digest del container, l'hostname della route e l'identificativo dei dati di test.
Esegui lo stesso controllo dopo una normale sostituzione del container e dopo aver ripristinato altrove flow, database, API key e file caricati. Il ripristino è riuscito quando flow, utenti, credenziali e file vengono ripristinati e un client API esistente può eseguire il flow ripristinato. Confronta tempi e consumo relativi all'esecuzione dei componenti, alla latenza del modello, alle chiamate API parallele, al parsing dei file e al numero di connessioni al database; una variazione significativa merita un'indagine anche quando l'azione finale ha comunque esito positivo.
Poi prova un errore controllato: nega temporaneamente all'identità di test l'accesso a Postgres per lo stato persistente e alle credenziali dei model provider. Verifica che Langflow segnali il problema e torni alla normalità senza modifiche manuali distruttive. Conserva solo l'estratto di log necessario, dopo averlo redatto. Questo gate in quattro parti copre avvio, persistenza, ripristino e gestione degli errori.
Cosa dovrebbe automatizzare Dockup per Langflow
Il platform layer per Langflow è composto dalla porta 7860, dall'ingress, dal TLS, dalla configurazione runtime, dallo storage e dalla raggiungibilità delle dipendenze. Dockup può riprodurre questi elementi sulla propria infrastruttura o su un server collegato dal cliente.
A quel punto l'operatore completa il product layer: imposta l'indirizzo pubblico utilizzato dai client API e dai callback di autenticazione; applica questa regola di accesso — proteggi il builder, limita l'accesso alle API e conserva le credenziali dei modelli in uno storage server-side cifrato — ed esegue “crea un flow con le credenziali di un provider, eseguilo nell'editor, chiama la sua API e verifica la risposta dopo il riavvio di un servizio”. Registrare questo test insieme al deployment evita di confondere il provisioning automatizzato con la disponibilità dell'applicazione.
Domande frequenti
Di cosa ha bisogno Langflow per un deployment di produzione?
Instrada il container Langflow sulla porta 7860 attraverso un'unica origine HTTPS. Il requisito di rete di supporto è Postgres per lo stato persistente e le credenziali dei model provider. Non considerare Langflow pronto finché non puoi creare un flow con le credenziali di un provider, eseguirlo nell'editor, chiamare la sua API e verificare la risposta dopo il riavvio di un servizio.
Quali dati di Langflow devono essere inclusi in un backup?
Rendi persistente /app/langflow e includi flow, database, API key e file caricati nello stesso manifest di ripristino. Un ripristino pulito di Langflow è riuscito solo quando flow, utenti, credenziali e file vengono ripristinati e un client API esistente può eseguire il flow ripristinato.
Langflow richiede HTTPS dietro un reverse proxy?
Usa HTTPS per l'origine pubblica di Langflow e mantieni la porta 7860 sulla route interna. Applica correttamente l'impostazione di Langflow: imposta l'indirizzo pubblico utilizzato dai client API e dai callback di autenticazione. Per Langflow, HTTPS protegge le credenziali o i contenuti degli utenti durante il transito e mantiene coerente il comportamento dei client sensibile all'origine.
Come deve essere testato un upgrade di Langflow?
Ripristina lo stato corrente di Langflow in un deployment isolato, applica la versione candidata e ripeti la transazione di acceptance. Presta particolare attenzione, perché i pacchetti dei componenti, le migration del database e i flow serializzati possono cambiare tra le release di Langflow. Conserva l'immagine precedente di Langflow finché non avrai compreso i limiti della migrazione dei dati e del rollback.
