Index du journalDockup / note de terrain
Note / self-host-flowise

Comment auto-héberger Flowise en 2026 : credentials, stockage et URLs publiques

Auto-hébergez Flowise avec les bons ports, un stockage persistant, HTTPS, des secrets, des sauvegardes et des contrôles de mise à niveau. Découvrez comment résoudre les problèmes liés au changement du secret de chiffrement.

La démonstration Flowise la plus simple prouve qu’un processus écoute sur le port 3000. La production exige des preuves plus solides. Elle doit réussir le scénario suivant, même après le remplacement du container : créer un petit chatflow, enregistrer un credential de fournisseur, appeler l’endpoint de prédiction et poursuivre la même session après le remplacement d’un container.

Flowise est déployé dans un objectif précis : fournir un visual builder pour les chaînes LLM et les agents appelables. Son piège de déploiement le plus courant est que le secret de chiffrement change ou que le répertoire de données monté appartienne à un autre UID. La gestion de l’URL publique et la persistance de l’état doivent donc recevoir la même attention que le démarrage de l’image.

L’architecture de production de Flowise

Séparez quatre éléments pour Flowise : l’ingress, le listener sur le port 3000, l’état persistant et les services de support ou la capacité locale. Le contrat réseau de Flowise repose sur une base de données compatible dès qu’un environnement dépasse une configuration mono-nœud temporaire. Gardez les endpoints privés sur un DNS interne, n’autorisez que les appels sortants nécessaires et attribuez à Flowise un credential de service limité.

Exécutez la transaction validée — créer un petit chatflow, enregistrer un credential de fournisseur, appeler l’endpoint de prédiction et poursuivre la même session après le remplacement d’un container — avant de considérer cette séparation comme terminée. Mesurez les exécutions parallèles de flows, les document loaders, les appels au vector store et la mémoire consommée par les custom nodes, puis conservez le résultat avec l’enregistrement du déploiement. Vous disposerez ainsi à la fois d’un critère d’acceptation et d’une première référence de capacité.

Sauvegardez l’état que Flowise ne peut pas recréer

Inventoriez chaque artefact persistant : la base de données Flowise, les credentials et les documents importés. Montez /root/.flowise avant le bootstrap, écrivez des données d’exemple sans risque et remplacez le container pour vérifier que ce chemin est réellement persistant. Incluez les paramètres qui modifient l’interprétation des données stockées, et pas uniquement le répertoire le plus volumineux.

Définissez une politique de rétention, copiez les sauvegardes hors de l’hôte et effectuez une restauration en clean room. Le test Flowise est terminé lorsque les flows, les credentials et les connaissances importées sont restaurés et qu’un client API existant peut exécuter un flow restauré. Si les snapshots font partie du plan, utilisez le guide PITR versus snapshot pour documenter ce que chaque mécanisme permet de récupérer.

Ne donnez pas à Flowise accès à tout l’hôte

Fermez la fenêtre de bootstrap dès qu’un premier administrateur de confiance existe. Le piège concret de Flowise consiste à laisser l’accès par défaut ouvert alors que les flows contiennent des secrets de fournisseur. La limite la plus sûre consiste à protéger le visual builder plus strictement que les endpoints de prédiction et à ne jamais exposer les credentials des fournisseurs aux clients browser.

Générez FLOWISE_SECRETKEY_OVERWRITE une seule fois, gardez-le hors de Git et conservez-le avec le recovery manifest, car sa modification peut invalider l’état applicatif chiffré ou signé. Le réseau privé doit transporter les credentials des dépendances, et les rôles dans Flowise doivent accorder uniquement l’action minimale utile. Excluez des logs courants les corps de requête sensibles et les réponses des fournisseurs.

La release gate de Flowise

Créez un petit fixture Flowise temporaire et conservez-le pour chaque release. Le fixture doit couvrir le workflow réel : créer un petit chatflow, enregistrer un credential de fournisseur, appeler l’endpoint de prédiction et poursuivre la même session après le remplacement d’un container. Enregistrez le digest de l’image, le hostname externe, l’adresse de la dépendance et le résultat attendu afin qu’un autre opérateur puisse répéter le test sans devoir interpréter ce guide.

Exécutez le fixture trois fois. Premièrement, utilisez le déploiement vierge. Deuxièmement, remplacez le container sans toucher à l’état persistant. Troisièmement, restaurez la sauvegarde dans un environnement vide. Le troisième test ne réussit que lorsque les flows, les credentials et les connaissances importées sont restaurés et qu’un client API existant peut exécuter un flow restauré. À chaque exécution, capturez la latence et l’utilisation des ressources autour des exécutions parallèles de flows, des document loaders, des appels au vector store et de la mémoire consommée par les custom nodes ; ces données deviennent la base des alertes, plutôt qu’un pourcentage de CPU arbitraire.

Enfin, testez volontairement le chemin d’échec : refusez temporairement à l’identité de test l’accès à une base de données compatible dès qu’un environnement dépasse une configuration mono-nœud temporaire. Vérifiez que Flowise échoue de manière visible sans corrompre l’état, rétablissez la bonne condition et répétez la transaction réussie. Un release record contenant ces quatre résultats constitue une preuve plus solide que des captures d’écran d’un dashboard ou qu’une réponse curl obtenue une seule fois.

Lancez Flowise avec des valeurs par défaut observables

Le premier container doit être facile à supprimer et à recréer. Gardez les données hors de la writable layer, liez le port 3000 uniquement là où le proxy peut l’atteindre et transmettez la configuration au runtime.

docker run -d \
  --name flowise \
  --restart unless-stopped \
  -p 127.0.0.1:3000:3000 \
  -v flowise-data:/root/.flowise \
  -e FLOWISE_SECRETKEY_OVERWRITE=replace-with-a-long-random-value \
  flowiseai/flowise:latest

Figez la version de l’image après le test initial. Lisez la première erreur de démarrage plutôt que le dernier message de restart, vérifiez chaque mount avec docker inspect et suivez les logs pendant que vous créez un petit chatflow, enregistrez un credential de fournisseur, appelez l’endpoint de prédiction et poursuivez la même session après le remplacement d’un container. Cette séquence permet de distinguer une mauvaise commande d’image d’un problème de dépendance ou de permissions.

Rendez l’origine publique explicite

Le browser, le client API et Flowise doivent être alignés sur une seule origine. Pour y parvenir, définissez l’URL de l’application utilisée par les callbacks et les clients embarqués. Préservez l’hôte et le protocole d’origine tout en gardant le port 3000 indisponible comme adresse publique concurrente.

Le guide de dépannage d’un site inaccessible aide à distinguer une route injoignable d’une application qui répond. Cette distinction est importante ici : le secret de chiffrement change ou le répertoire de données monté appartient à un autre UID. Seul le premier problème se résout par des modifications de l’ingress ; le second nécessite d’examiner les logs, l’état ou le workload Flowise.

Tests d’échec pour Flowise

Utilisez « créer un petit chatflow, enregistrer un credential de fournisseur, appeler l’endpoint de prédiction et poursuivre la même session après le remplacement d’un container » comme smoke test Flowise après chaque déploiement. Ses métriques de support sont les exécutions parallèles de flows, les document loaders, les appels au vector store et la mémoire consommée par les custom nodes ; déclenchez des alertes lorsque ces ressources approchent un niveau qui dégrade l’action utilisateur.

Le principal risque de changement vient du fait que les component packages, les migrations de base de données et les credentials chiffrés peuvent casser lorsque Flowise change de release. Une release sûre part d’un snapshot restaurable et valide toute modification d’état irréversible avant le basculement du trafic. Lorsque le secret de chiffrement change ou que le répertoire de données monté appartient à un autre UID, conservez suffisamment longtemps le container en échec pour lire sa configuration et sa première erreur.

Là où Dockup simplifie le travail pour Flowise

Pour Flowise, Dockup est particulièrement utile à la frontière entre une image et un service persistant. Il maintient la route vers le port 3000, TLS, les valeurs des secrets et le stockage lors des remplacements de containers, que le compute appartienne à Dockup ou à votre serveur connecté.

Terminez avec les éléments propres à l’application : définissez l’URL de l’application utilisée par les callbacks et les clients embarqués ; connectez et testez une base de données compatible dès qu’un environnement dépasse une configuration mono-nœud temporaire ; puis exécutez cette vérification : créer un petit chatflow, enregistrer un credential de fournisseur, appeler l’endpoint de prédiction et poursuivre la même session après le remplacement d’un container. Conservez le résultat comme contrôle de déploiement afin que la prochaine mise à jour de l’image soit évaluée sur son comportement plutôt que sur l’état du container.

Foire aux questions

De quoi Flowise a-t-il besoin pour un déploiement en production ?

Faites passer le container Flowise exposé sur le port 3000 par une seule origine HTTPS. La dépendance réseau est une base de données compatible dès qu’un environnement dépasse une configuration mono-nœud temporaire. Ne considérez pas Flowise comme prêt tant que vous ne pouvez pas créer un petit chatflow, enregistrer un credential de fournisseur, appeler l’endpoint de prédiction et poursuivre la même session après le remplacement d’un container.

Quelles données Flowise doivent être sauvegardées ?

Rendez /root/.flowise persistant et incluez la base de données Flowise, les credentials et les documents importés dans le même recovery manifest. Une restauration Flowise en clean room n’est réussie que lorsque les flows, les credentials et les connaissances importées sont restaurés et qu’un client API existant peut exécuter un flow restauré.

Flowise nécessite-t-il HTTPS derrière un reverse proxy ?

Utilisez HTTPS pour l’origine publique de Flowise et gardez le port 3000 sur la route interne. Appliquez correctement le paramètre Flowise : définissez l’URL de l’application utilisée par les callbacks et les clients embarqués. Pour Flowise, HTTPS protège les credentials ou le contenu utilisateur pendant leur transport et garantit un comportement cohérent des clients sensibles à l’origine.

Comment tester une mise à niveau de Flowise ?

Restaurez l’état actuel de Flowise dans un déploiement isolé, appliquez la version candidate et répétez sa transaction d’acceptation. Soyez particulièrement attentif, car les component packages, les migrations de base de données et les credentials chiffrés peuvent casser lorsque Flowise change de release. Conservez l’ancienne image Flowise jusqu’à ce que les limites de migration des données et de rollback soient comprises.