Aller au contenu

Solutions · Chat multi-modèles

Un VPS pour LibreChat

LibreChat est l'interface de chat open source pour de nombreux modèles à la fois : OpenAI, Anthropic, Google, et des modèles locaux via un endpoint compatible OpenAI, avec des agents, la recherche dans les fichiers et des comptes pour toute une équipe. Sa documentation ne publie aucun chiffre de RAM ni de CPU, et le fichier Docker Compose officiel démarre six conteneurs : nous dimensionnons donc à partir de cela. BD-8 à $12.90 par mois est la machine la moins chère offrant une vraie marge ; C2-4-80 à $37.90 est le format plus petit pour un utilisateur ou un petit groupe.

Ce qu’il lui faut

Logiciels issus de la documentation, tailles indiquées avec leur source

Les logiciels et la configuration de sécurité proviennent de la documentation du projet lui-même. Lorsque le projet ne publie aucun chiffre matériel, les tailles indiquent de qui elles viennent.

D’après la documentation de LibreChat et son fichier compose

  • Git et Docker, sous Linux. Le guide Docker sur librechat.ai ne mentionne rien d’autre et n’indique aucune exigence de RAM, de CPU ou de disque.
  • Installation : clonez le dépôt, puis cp .env.example .env && docker compose up -d. L’application répond sur le port 3080 ; un second conteneur, le panneau d’administration, répond sur le port 3000.
  • Le fichier compose officiel démarre six conteneurs : l'application LibreChat, son panneau d'administration, MongoDB pour les conversations et les comptes, Meilisearch pour la recherche dans les conversations, une base pgvector et la RAG API pour la recherche dans les fichiers.
  • Les modèles sont des clés, pas du matériel. Les clés OpenAI, Anthropic et Google se placent dans .env, ou chaque utilisateur saisit la sienne dans l'interface. Un modèle local est un endpoint Ollama ou un autre endpoint compatible OpenAI, distinct, que vous ajoutez dans librechat.yaml : cette machine n'a donc pas besoin de GPU.

Tailles (les nôtres, d'après les six conteneurs démarrés par le fichier compose)

Dimensionnement par usage
Charge de travailvCPURAM
Un utilisateur ou un petit groupe, quelques conversations, pas de recherche intensive dans les fichiersNotre estimation. Six conteneurs occupent déjà de la mémoire au repos ; c'est le minimum sur lequel nous les ferions tourner.24 GB
Une équipe, recherche de fichiers activée, index de recherche en croissanceNotre estimation. MongoDB, Meilisearch et la base vectorielle ont chacun besoin de marge, et l'indexation des fichiers envoyés sollicite le CPU.48 GB
Nombreux utilisateurs, gros volumes de documents, conversations conservées pendant des annéesNotre estimation. Le stockage des conversations, l'index de recherche et les vecteurs grossissent avec l'usage.816 GB

Les offres adaptées

5 machines, prix en temps réel

Machine adaptée la moins chère en premier. Prix du jour, par mois, issus du catalogue.

  • BD-8$12.90/mois

    4 vCPU · 8 GB · 100 GB de disque · 32 TB

    Le moins cher avec de la place pour toute la pile. Confortable pour une équipe : les six conteneurs, les fichiers envoyés et l’index de recherche, avec de la mémoire en réserve.

  • BD-12$17.90/mois

    6 vCPU · 12 GB · 200 GB de disque · 32 TB

    Plus de disque pour les fichiers envoyés et les vecteurs. Pour une vraie bibliothèque de documents derrière la recherche de fichiers et des années de conversations enregistrées.

  • BD-24$31.90/mois

    8 vCPU · 24 GB · 300 GB de disque · 32 TB

    Une grande équipe ou plusieurs utilisateurs intensifs. Beaucoup de mémoire pour que MongoDB, Meilisearch et la base vectorielle puissent grandir.

  • C2-4-80$37.90/mois

    2 vCPU · 4 GB · 80 GB de disque · 3 TB

    Le format plus petit, pour un ou quelques utilisateurs. Fait tourner la pile ; n'y faites pas tourner en plus un modèle local ni des builds. Choisissez-la pour la ville, pas pour la taille.

  • C4-8-160$75.90/mois

    4 vCPU · 8 GB · 160 GB de disque · 3 TB

    La taille confortable lorsque les villes de la ligne la moins chère ne vous conviennent pas. Le même format que la ligne la moins chère, pour une équipe qui a besoin d'une autre ville.

Il n'existe pas encore de préréglage de démarrage pour LibreChat : l'installation consiste en les étapes ci-dessous, que vous saisissez vous-même. Ce sont les commandes de la documentation de LibreChat, plus les secrets demandés par son fichier compose.

L’installation

Quatre étapes, d’après la documentation de LibreChat

Docker, la stack compose, le premier compte, puis vos modèles. Inscrivez votre propre compte dès que la stack est lancée : le premier compte créé devient l’administrateur.

  1. Docker. curl -fsSL https://get.docker.com | sh Vérifiez ensuite que docker compose version répond.
  2. Clonez et configurez. git clone https://github.com/LibreChat-AI/LibreChat.git cd LibreChat && cp .env.example .env Dans .env, définissez MEILI_MASTER_KEY (au moins 16 caractères) et ADMIN_PANEL_SESSION_SECRET, sans lequel le panneau d’administration ne démarre pas. Si les conteneurs signalent des erreurs de permission, définissez UID et GID sur l’utilisateur qui lance compose.
  3. Démarrez-le et inscrivez-vous en premier. docker compose up -d docker compose ps doit montrer les six conteneurs actifs. Ouvrez http://your-ip:3080 et cliquez sur Register : il n’y a pas d’utilisateur par défaut. Tant que le HTTPS n’est pas en place, gardez 3080 et 3000 derrière le pare-feu et accédez à l’application via SSH : ssh -N -L 3080:127.0.0.1:3080 root@your-server
  4. Ajoutez des modèles, puis un domaine. Placez OPENAI_API_KEY, ANTHROPIC_API_KEY et GOOGLE_KEY dans .env, ou laissez-les en user_provided pour que chaque utilisateur saisisse sa propre clé. Pour un modèle local, ajoutez un endpoint Ollama dans librechat.yaml ; depuis le conteneur, l’adresse est host.docker.internal, pas localhost. Pour le HTTPS, pointez un enregistrement A vers le serveur, placez un reverse proxy devant et définissez DOMAIN_CLIENT et DOMAIN_SERVER dans .env sur l’adresse publique. Une fois vos utilisateurs inscrits, passez ALLOW_REGISTRATION à false.

En toute franchise

Ce que nous achèterions vraiment

LibreChat n'indique aucun minimum et démarre six conteneurs. Prenez la machine de 8 GB.

Pour LibreChat et une équipe

BD-8 · $12.90/mois

4 vCPU, 8 GB et 100 GB à $12.90 : toute la pile officielle, avec de la mémoire pour que MongoDB, Meilisearch et la base vectorielle puissent grandir, du disque pour les fichiers envoyés et du CPU pour indexer les documents sans bloquer le chat. Les modèles sont ailleurs, derrière une clé API : cette machine n'a donc jamais besoin de GPU. S'il vous faut une ville absente de la ligne la moins chère, C4-8-160 à $75.90 offre le même format ailleurs.

Questions

Les questions posées avant l’achat.

Quelle est la configuration requise pour LibreChat ?
Sa documentation n'en publie aucune. Le guide Docker cite Git et Docker comme prérequis et ne dit rien de la RAM, du CPU ni du disque. Ce que nous pouvons lire, c'est le fichier compose officiel, qui démarre six conteneurs : l'application LibreChat, un panneau d'administration, MongoDB, Meilisearch, une base pgvector et la RAG API. Les tailles de cette page sont les nôtres, déduites de cette pile, et le tableau le précise. Une machine de 8 GB est le point où une équipe cesse d'être à l'étroit.
LibreChat a-t-il besoin d’un GPU ?
Non. LibreChat est l'interface : il appelle le modèle que vous configurez, via une clé API pour OpenAI, Anthropic, Google et d'autres, ou via un endpoint personnalisé comme Ollama. Si vous voulez aussi héberger un modèle vous-même, c'est une autre machine et une autre question : la page Ollama dimensionne l'inférence CPU par modèle, et la gamme GPU est celle de la vitesse interactive.
Quels ports utilise-t-il ?
Le fichier compose publie l'application sur le PORT défini dans .env, 3080 par défaut, et le panneau d'administration sur 3000. MongoDB, Meilisearch, la base vectorielle et la RAG API ne sont pas publiés et restent sur le réseau compose. L'application est en HTTP simple : gardez 3080 et 3000 derrière le pare-feu jusqu'à ce qu'un reverse proxy vous fournisse le HTTPS, et créez d'abord votre propre compte : le premier compte créé devient l'administrateur.
De quelles clés API ai-je besoin ?
Aucune pour démarrer la pile, puis une par fournisseur que vous souhaitez utiliser. OPENAI_API_KEY, ANTHROPIC_API_KEY et GOOGLE_KEY valent user_provided par défaut dans .env.example, ce qui signifie que chaque utilisateur saisit sa propre clé dans l'interface ; mettez-y une vraie clé pour en partager une seule entre tous. La recherche dans les fichiers est à part : la RAG API utilise par défaut les embeddings OpenAI, et RAG_OPENAI_API_KEY remplace OPENAI_API_KEY pour elle, donc la recherche dans les fichiers nécessite une clé d'embeddings, sauf si vous changez de fournisseur.
Comment l’utiliser avec des modèles locaux ?
Ajoutez un endpoint personnalisé dans librechat.yaml pointant vers un serveur compatible OpenAI comme Ollama, à son adresse /v1/ sur le port 11434. Le guide de LibreChat indique d’utiliser host.docker.internal au lieu de localhost lorsque LibreChat tourne dans un conteneur, et qu’Ollama ignore la clé API mais que le champ ne peut pas être vide. Exécutez le modèle sur sa propre machine s’il n’est pas petit ; les machines de cette page sont dimensionnées pour l’interface.
LibreChat, Open WebUI ou Dify ?
LibreChat et Open WebUI sont tous deux des interfaces de chat pour de nombreux modèles, et LibreChat met l'accent sur les comptes multi-utilisateurs, les agents et les outils MCP chez des fournisseurs hébergés. Dify est une plateforme d'applications LLM : des prompts, des workflows et des applications RAG que vous construisez et exposez, plutôt qu'une interface de chat pour une équipe. Tous tournent sur les mêmes machines, et nous consacrons une page à chacun.
Comment le mettre à jour ?
D’après la documentation : docker compose down, supprimez les anciennes images, git pull, docker compose pull, puis docker compose up. Sauvegardez d’abord le répertoire data-node (MongoDB), le répertoire de données Meilisearch et votre .env : ce sont les conversations, l’index de recherche et les clés.