Pourquoi self-héberger LangFlow sur un VPS
LangFlow s'adresse aux développeurs qui veulent itérer vite sur des graphes LangChain avant de les figer en code. Sur un VPS, vous gagnez un environnement stable et persistant, là où une instance locale sur votre machine se perd à chaque redémarrage et n'est pas partageable avec l'équipe. Vos flux, vos variables globales (dont les clés API) et l'historique d'exécution vivent dans une base PostgreSQL que vous contrôlez. Vous pouvez exposer chaque flux comme une API, brancher des composants personnalisés, et collaborer à plusieurs sur la même instance. Surtout, vos chaînes de prompts et la logique métier qu'elles encodent ne transitent par aucune plateforme tierce.
Les bénéfices concrets d'un LangFlow auto-hébergé
- Instance persistante et partagée par l'équipe, contrairement à un setup local éphémère.
- Flux et variables globales stockés dans votre propre PostgreSQL, sauvegardables à volonté.
- Composants personnalisés Python déployables directement sur le serveur.
- Chaque flux exposable en endpoint API pour intégration dans vos applications.
- Liberté de version : vous épinglez la release qui correspond à vos flux existants.
- Aucune clé API ni logique de prompt exposée à un SaaS externe.
Prérequis matériels et logiciels
LangFlow est plus gourmand que la moyenne : son interface et son moteur d'exécution réclament de la mémoire. Prévoyez au minimum 2 vCPU et 4 Go de RAM, et idéalement 4 vCPU / 6 à 8 Go pour un usage confortable avec plusieurs flux chargés. Ajoutez une base PostgreSQL (en conteneur voisin) pour la production : la base SQLite par défaut convient aux tests mais montre vite ses limites. Comptez 10 Go de disque. Docker et Docker Compose sont nécessaires, plus un sous-domaine (ex. langflow.votre-domaine.ma) et le port 443 ouvert.
Déployer LangFlow avec Docker, Postgres et HTTPS
Préparer le projet
En SSH : mkdir -p /opt/langflow && cd /opt/langflow. Vous y placerez le docker-compose.yml décrivant deux services : langflow et postgres.
Définir LangFlow et PostgreSQL
Utilisez l'image langflowai/langflow, exposez le port interne 7860, et pointez LANGFLOW_DATABASE_URL vers le service Postgres (postgresql://langflow:motdepasse@postgres:5432/langflow). Ajoutez un volume pour les données Postgres.
Activer l'authentification
Avant le premier lancement, définissez LANGFLOW_AUTO_LOGIN=false, LANGFLOW_SUPERUSER et LANGFLOW_SUPERUSER_PASSWORD dans l'environnement. Sans cela, l'instance serait ouverte à quiconque connaît l'URL.
Lancer la stack
Exécutez docker compose up -d puis surveillez docker compose logs -f langflow. La première initialisation crée le schéma en base et peut prendre une minute.
Configurer le reverse proxy et le SSL
Routez langflow.votre-domaine.ma vers localhost:7860 via Caddy ou Nginx, avec certificat Let's Encrypt automatique. Activez le support WebSocket côté proxy, indispensable au bon fonctionnement du canvas en temps réel.
Tester un flux et son API
Connectez-vous, construisez un flux minimal, ajoutez vos clés API dans les variables globales, puis récupérez le code d'appel via le bouton API du flux pour valider l'intégration externe.
Ne laissez jamais LangFlow en production avec SQLite : la base se corrompt sous charge concurrente et vous perdez vos flux. Migrez vers PostgreSQL dès le départ et sauvegardez régulièrement avec pg_dump. Pensez aussi à exporter vos flux en JSON (menu Export) comme filet de sécurité versionnable dans Git, indépendant de l'état de la base.