docker compose up lance LibreChat, le ClickHouse MCP server, ClickHouse et Langfuse pour l’observabilité.
Prérequis
- Docker avec le plugin Compose (Compose v2 ou version ultérieure).
- Git, pour cloner le dépôt.
- Une clé API d’un fournisseur de modèles (comme OpenAI, Anthropic ou Google). L’agent a besoin d’un modèle pour répondre aux questions ; fournissez donc une clé lors de la configuration ou ajoutez-en une dans l’UI de LibreChat avant votre première conversation.
Déployer la stack
Cloner le dépôt
docker-compose.yml à la racine, donc toute la stack démarre avec une seule commande. Voir Architecture pour la liste complète des services.Exécuter le script de préparation de la démo
.env avec les identifiants de chaque service, puis propose un menu interactif pour configurer les API keys du fournisseur de votre choix. Vous pouvez aussi définir ces clés directement dans le fichier .env. Tout fournisseur ignoré reste défini sur user_provided, ce qui vous permet d’ajouter votre propre clé plus tard dans l’UI de LibreChat.Au premier démarrage, la stack crée un utilisateur admin à partir de .env. Les identifiants par défaut sont admin@admin.com / password.Définir vos propres identifiants de connexion
Définir vos propres identifiants de connexion
generate-env.sh avec ces variables avant prepare-demo.sh :prepare-demo.sh détecte alors le fichier .env existant et passe directement à la configuration des API keys.Démarrer les services en arrière-plan
Ouvrir LibreChat et se connecter
- LibreChat (UI de chat) — http://localhost:3080
- Langfuse (observabilité) — http://localhost:3000
- Admin Panel (configuration de LibreChat dans le navigateur) — http://localhost:3081
- MinIO console (object storage ; identifiants dans
.env) — http://localhost:9091
.env.Sélectionner un modèle
Définir une clé de fournisseur dans l'UI
Définir une clé de fournisseur dans l'UI
Sélectionner le serveur MCP
librechat.yaml de LibreChat. Dans la zone de saisie des messages, cliquez sur MCP Servers et sélectionnez ClickHouse-Local.Sélectionnez ClickHouse-Cloud à la place pour utiliser un service ClickHouse Cloud.Poser votre première question
Quelles bases de données et tables sont disponibles, et combien de lignes contient la plus grande table ?L’agent utilise les outils du serveur MCP pour lister les bases de données et les tables, exécuter des requêtes en lecture seule sur ClickHouse et formuler une réponse à partir des résultats. Vous n’avez pas besoin d’écrire de SQL.
Arrêter ou réinitialiser la stack
Architecture
docker-compose.yml est un point d’entrée minimal qui inclut quatre fichiers Compose :
| Fichier Compose | Définit |
|---|---|
langfuse-compose.yml | Langfuse et ses services associés (ClickHouse, PostgreSQL, Redis, MinIO) |
clickhouse-mcp-compose.yml | Le serveur MCP ClickHouse |
librechat-compose.yml | LibreChat et ses services associés (MongoDB, Meilisearch, pgvector, RAG API) |
admin-panel-compose.yml | L’Admin Panel de LibreChat |
- Contrôles d’état et ordre de démarrage. Compose s’appuie sur des contrôles d’état pour ordonner le démarrage. Le serveur MCP attend que ClickHouse soit prêt, et LibreChat attend le serveur MCP.
- Fichier d’environnement partagé. Le
.envcontient les identifiants et les paramètres de connexion de chaque service, définis de manière cohérente pour que les services puissent se joindre entre eux. Par exemple, le serveur MCP se connecte à ClickHouse avec les identifiants ClickHouse du.env. LibreChat reçoitLANGFUSE_PUBLIC_KEY,LANGFUSE_SECRET_KEYetLANGFUSE_BASE_URL, de sorte que chaque exécution est automatiquement tracée dans Langfuse dès le départ.
Étapes suivantes
- Découvrez le rôle de chacun des composants de la stack : ClickHouse MCP server, LibreChat et Langfuse.
- Consultez la vue d’ensemble pour comprendre comment la stack s’organise.
- Pour essayer la stack avec des jeux de données publics sans rien installer, utilisez AgentHouse, la démo hébergée.