[{"data":1,"prerenderedAt":166},["ShallowReactive",2],{"seo-verification":3,"blog-heberger-langflow-vps-ma-fr":6,"promo-bar-likely":157},{"google":4,"bing":5},"EycwPY2XMyTkVzas3n1ygeNJFGAH513qrMjfDljzsMQ","",{"key":7,"data":8},"blog-heberger-langflow-vps-ma-fr",{"id":9,"slug":10,"slugs":11,"title":15,"excerpt":16,"readTime":17,"views":18,"isPinned":19,"noindex":19,"publishedAt":20,"updatedAt":21,"category":22,"categories":28,"featuredImage":30,"bgImage":31,"posterImage":32,"relatedSolution":33,"intro":35,"sections":36,"ctaTitle":108,"ctaBody":109,"ctaButton":110,"ctaUrl":111,"relatedPosts":112},10,"heberger-langflow-vps",{"fr":10,"en":12,"ar":13,"es":14},"how-to-host-langflow-on-a-vps","كيفية-استضافة-langflow-على-خادم-vps","como-alojar-langflow-en-un-vps","Héberger LangFlow sur un VPS : guide complet Docker et HTTPS","Déployez LangFlow sur votre VPS avec Docker, PostgreSQL et un reverse proxy nginx en HTTPS. Prérequis, étapes pas à pas, API, RAG, composants Python et dépannage.",13,2,false,"2026-06-10T00:00:00+00:00","2026-11-04T16:30:24+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},1,"Intelligence Artificielle","intelligence-artificielle","bg-purple-500\u002F10 text-purple-400","ia",[29],{"id":23,"name":24,"slug":25,"color":26,"icon":27},null,"\u002Fblog\u002Fcovers\u002Fbg.svg","\u002Fblog\u002Fcovers\u002Fheberger-langflow-vps-poster.svg",{"categorySlug":27,"appSlug":34},"langflow","LangFlow est un éditeur visuel de pipelines IA — RAG, chatbots, agents LangChain — qui s'exécute dans votre navigateur et expose chaque flux comme une API REST. Hébergé sur votre VPS, il devient un atelier privé et partageable : vos flows, vos clés API et votre historique d'exécution restent sous votre contrôle, sans passer par un SaaS externe. Ce guide couvre l'installation complète avec Docker Compose, PostgreSQL, reverse proxy nginx et HTTPS — puis va plus loin : appel d'un flow depuis Python ou curl, pipeline RAG sur documents, composants personnalisés et mise à jour sans perte de données.",[37,41,52,55,83,86,89,92,95,98,102,105],{"type":38,"title":39,"body":40},"h2","Pourquoi héberger LangFlow sur un VPS","LangFlow répond à un cas d'usage précis : concevoir des pipelines IA en glissant-déposant des composants — modèles LLM, retrievers, prompts, mémoire, agents — puis les tester sans écrire une seule ligne de code. C'est l'alternative visuelle à LangChain en mode code-only, adaptée aux équipes qui veulent itérer vite avant de figer une logique en Python.\n\nSur un VPS, vous obtenez une instance stable et persistante, accessible à toute l'équipe, contrairement à un setup local qui disparaît au redémarrage. Vos flows encodent souvent une logique métier sensible — chaînes de prompts, clés API, connecteurs vers vos bases de données. Ces données ne doivent pas transiter par un SaaS dont vous ne contrôlez pas la politique de rétention.\n\nLangFlow s'appuie sur FastAPI côté serveur et expose chaque flow comme un endpoint REST : vos applications peuvent appeler vos pipelines IA directement, sans code intermédiaire. C'est cette combinaison — interface visuelle pour la conception, API pour l'intégration — qui en fait un outil de prototypage sérieux pour des cas tels que le RAG documentaire, les chatbots d'assistance, les agents multi-étapes ou les pipelines de classification.",{"type":42,"title":43,"items":44},"ul","Ce que vous gagnez avec une instance auto-hébergée",[45,46,47,48,49,50,51],"**Interface visuelle de pipelines** — glissez des composants LLM, retriever, mémoire et prompt dans un canvas, connectez-les, testez sans code.","**Connecteurs LLM variés** — OpenAI, Anthropic, Ollama (local), Hugging Face et tout fournisseur compatible OpenAI API.","**RAG intégré** — chargez des documents PDF ou texte, chunking, embedding et recherche vectorielle dans le même flow.","**API automatique par flow** — chaque pipeline devient un endpoint REST appelable depuis n'importe quelle application.","**Variables globales chiffrées** — vos clés API sont stockées côté serveur, jamais exposées dans le code du client.","**Composants Python personnalisés** — étendez LangFlow avec votre propre logique métier sans forker le projet.","**Contrôle de version des flows** — exportez en JSON et versionnez dans Git, indépendamment de l'état de la base.",{"type":38,"title":53,"body":54},"Prérequis avant de commencer","LangFlow est plus gourmand en mémoire qu'un outil web classique : son moteur d'exécution charge des modèles et des embeddings en RAM. Prévoyez au minimum **2 vCPU et 4 Go de RAM** pour un usage confortable. Si vous connectez un modèle Ollama local pour l'inférence sur le même VPS, passez à 8 Go minimum.\n\nCôté logiciel, il vous faut Docker (version 24 ou supérieure) et Docker Compose v2, installés et opérationnels. Le port `7860` doit être accessible en local (LangFlow écoute sur ce port par défaut). Vous n'exposez pas ce port directement sur Internet : le reverse proxy nginx s'en charge.\n\nPréparez un sous-domaine pointant vers l'IP de votre VPS — par exemple `langflow.votre-domaine.com` — avec les enregistrements DNS déjà propagés avant de lancer certbot. Enfin, la base PostgreSQL est fortement recommandée pour la production : SQLite, la valeur par défaut, se corrompt sous charge concurrente et ne supporte pas les accès simultanés de plusieurs utilisateurs.",{"type":56,"title":57,"steps":58},"steps","Installer LangFlow avec Docker Compose et PostgreSQL",[59,62,65,68,71,74,77,80],{"title":60,"body":61},"Créer le répertoire de travail","Connectez-vous en SSH à votre VPS, puis créez le dossier qui accueillera la stack :\n\n```bash\nmkdir -p \u002Fopt\u002Flangflow && cd \u002Fopt\u002Flangflow\n```",{"title":63,"body":64},"Écrire le fichier docker-compose.yml","Créez un fichier `docker-compose.yml` avec deux services — `postgres` et `langflow` — et les variables d'environnement d'authentification :\n\n```yaml\nservices:\n  postgres:\n    image: postgres:16\n    restart: unless-stopped\n    environment:\n      POSTGRES_USER: langflow\n      POSTGRES_PASSWORD: motdepasse-fort\n      POSTGRES_DB: langflow\n    volumes:\n      - pgdata:\u002Fvar\u002Flib\u002Fpostgresql\u002Fdata\n    healthcheck:\n      test: [\"CMD-SHELL\", \"pg_isready -U langflow\"]\n      interval: 10s\n      retries: 5\n\n  langflow:\n    image: langflowai\u002Flangflow:latest\n    restart: unless-stopped\n    ports:\n      - \"127.0.0.1:7860:7860\"\n    environment:\n      LANGFLOW_DATABASE_URL: postgresql:\u002F\u002Flangflow:motdepasse-fort@postgres:5432\u002Flangflow\n      LANGFLOW_SECRET_KEY: changez-cette-valeur-par-une-chaine-aleatoire\n      LANGFLOW_AUTO_LOGIN: \"false\"\n      LANGFLOW_SUPERUSER: admin\n      LANGFLOW_SUPERUSER_PASSWORD: motdepasse-admin-fort\n    depends_on:\n      postgres:\n        condition: service_healthy\n\nvolumes:\n  pgdata:\n```\n\nNotez deux points importants : le port `7860` est lié à `127.0.0.1` (LangFlow n'est pas accessible depuis l'extérieur sans passer par le proxy) et le `healthcheck` sur `postgres` garantit que LangFlow attend une base réellement prête avant de démarrer, évitant les premières requêtes silencieusement échouées.",{"title":66,"body":67},"Lancer la stack","Démarrez les deux conteneurs en arrière-plan :\n\n```bash\ndocker compose up -d\n```\n\nSuivez les logs de LangFlow pendant la première initialisation (création du schéma en base, environ 30 secondes à 1 minute) :\n\n```bash\ndocker compose logs -f langflow\n```\n\nAttendez la ligne indiquant que le serveur écoute sur le port `7860` avant de continuer.",{"title":69,"body":70},"Vérifier que l'interface répond","Depuis votre VPS, testez que LangFlow répond localement avant de configurer le proxy :\n\n```bash\ncurl -s http:\u002F\u002F127.0.0.1:7860\u002Fhealth\n```\n\nLa réponse attendue est `{\"status\":\"ok\"}`. Si vous obtenez une erreur de connexion refusée, les logs de démarrage contiennent la cause.",{"title":72,"body":73},"Configurer le reverse proxy nginx avec HTTPS","Installez nginx et certbot si ce n'est pas déjà fait, puis créez un fichier de configuration :\n\n```nginx\nserver {\n    listen 80;\n    server_name langflow.su-dominio.com;\n    return 301 https:\u002F\u002F$host$request_uri;\n}\n\nserver {\n    listen 443 ssl;\n    server_name langflow.su-dominio.com;\n\n    ssl_certificate \u002Fetc\u002Fletsencrypt\u002Flive\u002Flangflow.votre-domaine.com\u002Ffullchain.pem;\n    ssl_certificate_key \u002Fetc\u002Fletsencrypt\u002Flive\u002Flangflow.votre-domaine.com\u002Fprivkey.pem;\n\n    location \u002F {\n        proxy_pass http:\u002F\u002F127.0.0.1:7860;\n        proxy_http_version 1.1;\n        proxy_set_header Upgrade $http_upgrade;\n        proxy_set_header Connection \"upgrade\";\n        proxy_set_header Host $host;\n        proxy_set_header X-Real-IP $remote_addr;\n    }\n}\n```\n\nLes en-têtes `Upgrade` et `Connection` sont indispensables pour le support WebSocket, utilisé par le canvas interactif. Obtenez le certificat avec certbot :\n\n```bash\ncertbot --nginx -d langflow.votre-domaine.com\n```",{"title":75,"body":76},"Se connecter et créer un premier flow","Ouvrez `https:\u002F\u002Flangflow.votre-domaine.com` dans votre navigateur. Connectez-vous avec les identifiants définis dans `LANGFLOW_SUPERUSER` et `LANGFLOW_SUPERUSER_PASSWORD`. Dans l'interface, cliquez sur **New Flow**, choisissez un template ou partez d'un canvas vide. Ajoutez un composant LLM, un prompt et un composant de sortie, connectez-les, puis cliquez sur **Run** pour tester le pipeline.",{"title":78,"body":79},"Enregistrer les clés API dans les variables globales","Plutôt que de saisir vos clés API dans chaque composant, utilisez les **Variables globales** (icône en haut à droite) : la clé est chiffrée en base et réutilisable dans tous vos flows. Depuis le menu **API** d'un flow, vous récupérez le code d'appel `curl` ou Python pour intégrer ce pipeline dans une application externe.",{"title":81,"body":82},"Sauvegarder les flows et la base","Planifiez un `pg_dump` quotidien de la base depuis l'hôte :\n\n```bash\ndocker exec langflow-postgres-1 pg_dump -U langflow langflow > \u002Fopt\u002Fbackups\u002Flangflow-$(date +%F).sql\n```\n\nExportez aussi vos flows en JSON depuis le menu **Export** de chaque flow : c'est un filet de sécurité versionnable dans Git, indépendant de l'état de la base.",{"type":38,"title":84,"body":85},"Appeler un flow depuis une application : API REST","Chaque flow LangFlow est accessible via l'endpoint `\u002Fapi\u002Fv1\u002Frun\u002F\u003Cflow-id>`. Vous trouvez l'identifiant du flow dans l'URL de l'éditeur ou dans le menu **API** du flow. Deux exemples concrets.\n\n**Avec curl :**\n\n```bash\ncurl -s -X POST \\\n  https:\u002F\u002Flangflow.votre-domaine.com\u002Fapi\u002Fv1\u002Frun\u002FVOTRE-FLOW-ID \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -H \"x-api-key: VOTRE-CLE-API\" \\\n  -d '{\n    \"input_value\": \"Quelle est la capitale de la France ?\",\n    \"input_type\": \"chat\",\n    \"output_type\": \"chat\"\n  }'\n```\n\n**Avec Python (bibliothèque `requests`) :**\n\n```python\nimport requests\n\nFLOW_ID = \"VOTRE-FLOW-ID\"\nBASE_URL = \"https:\u002F\u002Flangflow.votre-domaine.com\"\nAPI_KEY = \"VOTRE-CLE-API\"\n\nresponse = requests.post(\n    f\"{BASE_URL}\u002Fapi\u002Fv1\u002Frun\u002F{FLOW_ID}\",\n    headers={\n        \"Content-Type\": \"application\u002Fjson\",\n        \"x-api-key\": API_KEY,\n    },\n    json={\n        \"input_value\": \"Quelle est la capitale de la France ?\",\n        \"input_type\": \"chat\",\n        \"output_type\": \"chat\",\n    },\n    timeout=60,\n)\n\nresult = response.json()\nprint(result[\"outputs\"][0][\"outputs\"][0][\"results\"][\"message\"][\"text\"])\n```\n\nLa clé API se génère dans **Settings → API Keys** de l'interface LangFlow. Elle authentifie chaque appel et peut être révoquée à tout moment sans toucher au flow. Pour des appels depuis un service Node.js, la structure est identique avec `fetch` ou `axios` — l'endpoint REST est agnostique au langage.",{"type":38,"title":87,"body":88},"Pipeline RAG : indexer vos documents et les interroger","Le RAG (Retrieval-Augmented Generation) est le cas d'usage central de LangFlow : vous chargez des documents (PDF, texte, Markdown), les découpez en chunks, les embedez dans une base vectorielle, puis un LLM répond aux questions en puisant dans ce contexte.\n\n**Quel VectorStore sur un VPS ?** Sur un serveur à ressources limitées, **Chroma** (ChromaDB) est le choix le plus léger : il tourne en-process dans le même conteneur LangFlow, ne demande aucun service supplémentaire, et persiste ses données dans un répertoire local. **Qdrant** convient si vous avez plus de RAM et souhaitez un service dédié en conteneur voisin.\n\n**Construire le pipeline d'indexation dans LangFlow :**\n\nDans l'éditeur, assemblez la chaîne suivante en glissant les composants :\n\n1. **File** (ou **Directory**) → charge le PDF ou le dossier de documents.\n2. **Split Text** → découpe en chunks (taille recommandée : 500 à 800 tokens, chevauchement 50).\n3. **OpenAI Embeddings** (ou **Ollama Embeddings** pour rester entièrement local) → transforme chaque chunk en vecteur.\n4. **Chroma DB** → stocke les vecteurs. Pointez le champ **Persist Directory** vers un volume monté dans Docker pour que l'index survive aux redémarrages.\n\nPour le volume Chroma, ajoutez dans votre `docker-compose.yml` :\n\n```yaml\n  langflow:\n    volumes:\n      - chromadb:\u002Fdata\u002Fchroma\n\nvolumes:\n  pgdata:\n  chromadb:\n```\n\nEt définissez dans LangFlow la variable globale `CHROMA_PERSIST_DIR` avec la valeur `\u002Fdata\u002Fchroma`.\n\n**Pipeline de requête :**\n\nUne fois l'index peuplé, créez un second flow (ou une branche du même) : **Text Input** → **Chroma DB** (en mode recherche, avec le même répertoire) → **Prompt** (injectez les chunks retrouvés) → **LLM** → **Chat Output**. Chaque question déclenche une recherche vectorielle, récupère les passages les plus proches et les soumet au modèle avec le contexte.",{"type":38,"title":90,"body":91},"Composants personnalisés : étendre LangFlow en Python","LangFlow permet de créer des composants Python sur mesure, sans forker le projet. Un composant est une classe qui hérite de `Component` et déclare ses entrées, ses sorties et son code.\n\nExemple minimal — un composant qui nettoie et met en majuscules le texte reçu :\n\n```python\nfrom langflow.custom import Component\nfrom langflow.io import MessageTextInput, Output\nfrom langflow.schema import Data\n\nclass UpperCaseComponent(Component):\n    display_name = \"Uppercase Text\"\n    description = \"Convertit le texte en majuscules.\"\n\n    inputs = [\n        MessageTextInput(\n            name=\"input_text\",\n            display_name=\"Texte d'entrée\",\n        )\n    ]\n\n    outputs = [\n        Output(\n            display_name=\"Texte traité\",\n            name=\"output_text\",\n            method=\"process_text\",\n        )\n    ]\n\n    def process_text(self) -> Data:\n        result = self.input_text.strip().upper()\n        return Data(text=result)\n```\n\nPour ajouter ce composant à votre instance : dans l'interface LangFlow, allez dans **Settings → Custom Components**, collez le code et sauvegardez. Le composant apparaît immédiatement dans la barre latérale, prêt à être glissé dans un flow. Vous pouvez ainsi encapsuler n'importe quelle logique métier — appel à une API interne, transformation de données, accès à une base propriétaire — et l'exposer comme un bloc réutilisable dans tous vos flows.",{"type":38,"title":93,"body":94},"Mettre à jour LangFlow sans perdre vos données","LangFlow publie régulièrement de nouvelles versions (la branche 1.x est la branche stable active en octobre 2026). Avant toute mise à jour, faites systématiquement une sauvegarde de la base :\n\n```bash\ndocker exec langflow-postgres-1 pg_dump -U langflow langflow \\\n  > \u002Fopt\u002Fbackups\u002Flangflow-avant-maj-$(date +%F).sql\n```\n\nMettez ensuite à jour l'image et relancez la stack :\n\n```bash\ncd \u002Fopt\u002Flangflow\ndocker compose pull\ndocker compose up -d\n```\n\nSuivez les logs pour détecter d'éventuelles migrations de schéma automatiques :\n\n```bash\ndocker compose logs -f langflow\n```\n\n**Points de vigilance sur les montées de version v1.x.** Les versions 1.x peuvent inclure des migrations de base (le conteneur les applique au démarrage). Si un flow cesse de fonctionner après la mise à jour, consultez le `CHANGELOG` sur GitHub (`langflow-ai\u002Flangflow`) pour identifier les **breaking changes** : certains composants sont renommés ou refactorisés entre mineures. Exportez vos flows en JSON avant la montée de version — c'est le moyen le plus rapide de les restaurer dans un état connu si une migration pose problème.\n\nSi vous épinglez une version précise (préférable en production), remplacez `latest` par le tag voulu dans votre `docker-compose.yml` :\n\n```yaml\nimage: langflowai\u002Flangflow:1.12.4\n```",{"type":38,"title":96,"body":97},"Configuration avancée : variables d'environnement utiles","LangFlow expose plusieurs variables d'environnement pour adapter l'instance à votre contexte. `LANGFLOW_SECRET_KEY` chiffre les données sensibles stockées en base — changez la valeur par défaut avant le premier démarrage, car une rotation ultérieure invalide les données chiffrées existantes. `LANGFLOW_AUTO_LOGIN` à `false` oblige toujours un login explicite, même depuis `localhost`. `LANGFLOW_WORKERS` contrôle le nombre de processus Uvicorn : la valeur par défaut (`1`) convient pour un usage modéré, augmentez à `2` ou `4` si plusieurs utilisateurs exécutent des flows simultanément.\n\nPour les flows qui appellent des modèles locaux via Ollama, définissez `OLLAMA_BASE_URL` dans les variables globales de LangFlow plutôt que dans l'environnement Docker : la valeur est alors gérée par l'interface et peut être changée sans redémarrage.\n\nSi vous mettez à jour LangFlow, faites toujours un `pg_dump` avant `docker compose pull && docker compose up -d` : certaines montées de version touchent au schéma de la base.",{"type":99,"title":100,"body":101},"tip","Sécurité : ne pas exposer LangFlow directement sur Internet","LangFlow n'a pas de rate limiting intégré sur ses endpoints API. Sans mesure complémentaire, un flow exposé publiquement peut être appelé sans limite par n'importe qui connaissant l'URL. Deux approches se complètent.\n\nPremièrement, laissez `LANGFLOW_AUTO_LOGIN=false` en permanence et créez des comptes utilisateurs distincts pour chaque membre de l'équipe. Deuxièmement, si vos flows ne doivent être appelés que par vos propres applications (et non par des utilisateurs directs), ajoutez un blocage `auth_basic` nginx devant l'interface de gestion et exposez uniquement les endpoints `\u002Fapi\u002Fv1\u002Frun\u002F\u003Cflow-id>` avec authentification par token à vos applications.\n\nNe laissez jamais LangFlow en production avec SQLite : la base se corrompt sous accès concurrents et vous perdez vos flows sans message d'erreur explicite.",{"type":38,"title":103,"body":104},"Dépannage étendu : erreurs courantes","**Erreur OOM (Out of Memory).** Si le conteneur LangFlow se redémarre spontanément, consultez `docker compose logs langflow` et recherchez `Killed`. La cause est le manque de RAM. Réduisez `LANGFLOW_WORKERS` à `1` et, si le problème persiste, augmentez la RAM du VPS ou évitez d'exécuter des flows chargés simultanément.\n\n**`RuntimeError: CUDA out of memory`.** Cette erreur survient lorsqu'un composant tente d'utiliser un GPU (via PyTorch ou un modèle Hugging Face) alors que le VPS n'en dispose pas ou que la mémoire GPU est insuffisante. Forcer l'exécution CPU en ajoutant la variable d'environnement `CUDA_VISIBLE_DEVICES=\"\"` au service langflow dans le `docker-compose.yml`. Si l'erreur vient d'un modèle Hugging Face, sélectionnez une variante CPU (suffixe `-cpu` ou `gguf`) dans le composant.\n\n**Port 7860 déjà occupé.** Si `docker compose up -d` échoue avec `address already in use`, un autre processus écoute sur ce port. Identifiez-le avec `ss -tlnp | grep 7860` et arrêtez-le, ou changez le port hôte dans le `docker-compose.yml` (`\"127.0.0.1:7861:7860\"` par exemple) et mettez à jour la configuration nginx en conséquence.\n\n**`ImportError: No module named 'torch'` ou dépendance manquante.** Certains composants avancés (embeddings Hugging Face, modèles locaux) nécessitent des bibliothèques lourdes non incluses dans l'image de base. Créez un `Dockerfile` dérivé qui installe les dépendances manquantes, ou utilisez l'image `langflowai\u002Flangflow-backend` avec les extras requis.\n\n**Connexion refusée à Ollama.** Si LangFlow ne peut pas joindre Ollama tournant sur le même VPS, vérifiez que Ollama écoute sur `0.0.0.0` et non sur `127.0.0.1` uniquement. Dans `docker-compose.yml`, ajoutez `extra_hosts: [\"host-gateway:host-gateway\"]` au service LangFlow et utilisez l'adresse `http:\u002F\u002Fhost-gateway:11434` dans les composants Ollama.\n\n**Canvas blanc ou WebSocket coupé.** Vérifiez que les en-têtes `Upgrade` et `Connection` sont bien transmis par nginx. Un proxy intermédiaire (Cloudflare en mode Full Strict, load balancer) peut intercepter les WebSockets : assurez-vous que le protocole WebSocket est bien configuré en proxy.\n\n**Logs de flow absents ou incomplets.** LangFlow stocke les logs d'exécution en base. Si la base PostgreSQL n'était pas prête au démarrage de LangFlow, les premières requêtes échouent silencieusement. Le `healthcheck` dans l'exemple de `docker-compose.yml` ci-dessus résout ce problème.",{"type":38,"title":106,"body":107},"Prochaines étapes : étendre votre instance LangFlow","Une fois LangFlow opérationnel, plusieurs intégrations élargissent son périmètre d'usage.\n\nSi vous souhaitez un modèle LLM entièrement local (sans appel API externe), installez Ollama sur le même VPS et connectez-le à LangFlow via le composant **Ollama** : vos pipelines n'envoient plus de données hors de votre infrastructure. Ollama expose une API compatible OpenAI sur le port `11434`.\n\nPour un RAG documentaire plus robuste, passez de Chroma à **Qdrant** — une base vectorielle open source que vous déployez en conteneur voisin et qui offre de bonnes performances sur de grands corpus (plusieurs dizaines de milliers de documents).\n\nEnfin, si plusieurs équipes utilisent l'instance, envisagez d'isoler les flows par espace de travail (feature disponible selon la version) ou de déployer une instance LangFlow par projet avec le template ServOrbit, qui configure automatiquement Docker Compose, PostgreSQL et le reverse proxy.","Hébergez LangFlow sur un VPS dédié","Déployez votre propre instance LangFlow en quelques minutes sur un VPS ServOrbit — confidentialité totale, pas de limites d'API, accès HTTPS sécurisé avec certificat TLS inclus.","Déployer LangFlow","\u002Fapplications\u002Fia\u002Flangflow",[113,130,147],{"id":23,"slug":114,"slugs":115,"title":119,"excerpt":120,"readTime":121,"views":23,"isPinned":19,"noindex":19,"publishedAt":122,"updatedAt":123,"category":124,"categories":125,"featuredImage":30,"bgImage":31,"posterImage":127,"relatedSolution":128},"heberger-open-webui",{"fr":114,"en":116,"ar":117,"es":118},"how-to-host-open-webui-on-a-vps","كيفية-استضافة-open-webui-على-خادم-vps","como-alojar-open-webui-en-un-vps","Comment héberger Open WebUI sur un VPS","Déployez Open WebUI sur votre propre VPS : gardez le contrôle de vos données, évitez les coûts des API cloud et accédez à vos LLMs depuis une interface web propre.",9,"2026-06-01T00:00:00+00:00","2026-11-09T20:55:18+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},[126],{"id":23,"name":24,"slug":25,"color":26,"icon":27},"\u002Fblog\u002Fcovers\u002Fheberger-open-webui-poster.svg",{"categorySlug":27,"appSlug":129},"open-webui",{"id":18,"slug":131,"slugs":132,"title":136,"excerpt":137,"readTime":138,"views":23,"isPinned":19,"noindex":19,"publishedAt":139,"updatedAt":140,"category":141,"categories":142,"featuredImage":30,"bgImage":31,"posterImage":144,"relatedSolution":145},"deployer-dify-vps",{"fr":131,"en":133,"ar":134,"es":135},"deploying-dify-on-a-vps-ai-workflows-under-control","نشر-dify-على-vps-سير-عمل-الذكاء-الاصطناعي-تحت-السيطرة","desplegar-dify-en-un-vps","Déployer Dify sur un VPS : guide de l'installation aux plugins","Installez Dify sur un VPS ServOrbit : prérequis, Docker Compose, plugins offline, limites de l'installation Docker, sauvegarde avant mise à jour, dépannage.",15,"2026-02-11T00:00:00+00:00","2026-10-29T03:10:23+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},[143],{"id":23,"name":24,"slug":25,"color":26,"icon":27},"\u002Fblog\u002Fcovers\u002Fdeployer-dify-vps-poster.svg",{"categorySlug":25,"appSlug":146},"dify",{"id":148,"slug":149,"slugs":150,"title":154,"excerpt":155,"readTime":156,"views":23,"isPinned":19,"noindex":157,"publishedAt":158,"updatedAt":159,"category":160,"categories":161,"featuredImage":30,"bgImage":31,"posterImage":163,"relatedSolution":164},121,"heberger-openclaw-vps",{"fr":149,"en":151,"ar":152,"es":153},"hosting-openclaw-on-a-vps","استضافة-openclaw-على-خادم-vps","alojar-openclaw-en-un-vps","Héberger OpenClaw sur un VPS","Hébergez OpenClaw sur votre VPS : l'assistant IA personnel open source joignable depuis WhatsApp, Telegram, Discord et 50+ messageries. Docker, LLM et HTTPS.",4,true,"2026-02-23T00:00:00+00:00","2026-11-09T20:55:19+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},[162],{"id":23,"name":24,"slug":25,"color":26,"icon":27},"\u002Fblog\u002Fcovers\u002Fheberger-openclaw-vps-poster.svg",{"categorySlug":27,"appSlug":165},"openclaw",1794270723126]