Un flow fonctionnel dans l’éditeur n’est pas encore un service de production. Il faut stabiliser version, dépendances, secrets, stockage, authentification et exposition réseau. Commencez par exporter et versionner les flows et composants personnalisés avec leur configuration non sensible.
Séparer les environnements
Utilisez des instances ou espaces distincts pour développement, recette et production. Épinglez l’image ou le package Langflow et testez les migrations avant mise à jour. Construisez les composants personnalisés dans une image reproductible plutôt que d’installer manuellement des dépendances sur un serveur vivant.
Stockage et secrets
Choisissez une base persistante adaptée, configurez sauvegardes et restauration testée. Les clés de modèles, bases vectorielles et outils doivent provenir d’un gestionnaire de secrets ou de variables protégées. N’exportez pas de flow contenant des valeurs sensibles et filtrez prompts ou documents dans les logs.
Réseau et accès
Placez Langflow derrière TLS et un reverse proxy, activez authentification et contrôles d’accès, puis limitez les services internes joignables. N’exposez pas l’éditeur à tous les utilisateurs de l’API. Fixez taille des requêtes, timeouts et quotas pour protéger les modèles et intégrations.
Exploitation
Surveillez disponibilité, files d’attente, temps par composant, appels de modèles, erreurs et coût. Prévoyez arrêt propre, reprise, idempotence des écritures et stratégie de scaling. Testez un modèle indisponible, une base lente, un secret révoqué et une restauration complète.
FAQ
Docker suffit-il pour la production ?
Il rend le déploiement reproductible, mais ne fournit pas seul sauvegarde, sécurité, monitoring ou haute disponibilité.
Peut-on modifier un flow directement en production ?
Évitez-le. Promouvez une version testée et gardez un rollback.
Faut-il exposer l’interface d’administration ?
Seulement à un réseau et des rôles autorisés.
Déploiement Docker de référence
services:
langflow:
image: langflowai/langflow:latest
restart: unless-stopped
environment:
LANGFLOW_DATABASE_URL: postgresql://langflow:${DB_PASSWORD}@postgres:5432/langflow
LANGFLOW_CONFIG_DIR: /var/lib/langflow
volumes:
- langflow-data:/var/lib/langflow
expose: ["7860"]
depends_on:
postgres:
condition: service_healthy
postgres:
image: postgres:16-alpine
environment:
POSTGRES_USER: langflow
POSTGRES_PASSWORD: ${DB_PASSWORD}
POSTGRES_DB: langflow
healthcheck:
test: ["CMD-SHELL", "pg_isready -U langflow"]
interval: 10s
timeout: 5s
retries: 5
volumes:
- postgres-data:/var/lib/postgresql/data
volumes:
langflow-data:
postgres-data:Placez un reverse proxy TLS devant le port 7860 et ne le publiez pas directement. Épinglez une version d’image après validation, sauvegardez PostgreSQL et le volume de configuration, puis testez la restauration. Ajoutez une sonde HTTP, des limites CPU/mémoire et une alerte sur les erreurs 5xx. Les clés des fournisseurs doivent venir d’un gestionnaire de secrets, jamais du fichier Compose versionné.