Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

Configura la Agentic Data Stack con Docker Compose

Ejecute localmente el Agentic Data Stack completo con Docker Compose para hacer preguntas a sus datos desde que inicia sesión por primera vez. Con un solo comando docker compose up se ponen en marcha LibreChat, el ClickHouse MCP server, ClickHouse y Langfuse para observabilidad.

Requisitos previos

  • Docker con el plugin Compose (Compose v2 o superior).
  • Git, para clonar el repositorio.
  • Una API key de un proveedor de modelos (como OpenAI, Anthropic o Google). El agent necesita un modelo para responder preguntas, así que proporciona una API key durante la configuración o añade una en la UI de LibreChat antes de iniciar tu primer chat.

Poner en marcha el stack

Clona el repositorio

git clone https://github.com/ClickHouse/agentic-data-stack
cd agentic-data-stack

El repositorio incluye un archivo docker-compose.yml en el nivel superior, así que todo el stack se levanta con un solo comando. Consulta Architecture para ver la lista completa de servicios.

Ejecuta el script de configuración de la demo

./scripts/prepare-demo.sh

Esto genera un archivo .env con credenciales para cada servicio y, después, muestra un menú interactivo para configurar API keys para el proveedor que elijas. También puedes establecer estas claves directamente en el archivo .env. Cualquier proveedor que omitas seguirá configurado como user_provided, por lo que podrás añadir tu propia clave en la UI de LibreChat.

En el primer arranque, el stack crea un usuario administrador a partir de .env. El inicio de sesión predeterminado es admin@admin.com / password.

Establece tus propias credenciales de inicio de sesión

Ejecuta generate-env.sh con estas variables antes de prepare-demo.sh:

USER_EMAIL="you@example.com" USER_PASSWORD="supersecret" USER_NAME="YourName" ./scripts/generate-env.sh

Después, prepare-demo.sh detectará el archivo .env existente y pasará directamente a la configuración de las API keys.

Inicia los servicios en segundo plano

docker compose up -d

El orden de arranque se gestiona automáticamente. LibreChat se inicia solo después de que el servidor MCP esté en buen estado, por lo que su conexión con ClickHouse estará lista desde la primera carga.

Abre LibreChat e inicia sesión

Una vez que el stack esté en marcha, los servicios estarán disponibles en tu navegador:

Inicia sesión en LibreChat con las credenciales de administrador de tu archivo .env.

Selecciona un modelo

Hay un modelo seleccionado de forma predeterminada. Si quieres cambiarlo, abre el selector de modelos y elige el que quieras usar.

El selector de modelos de LibreChat en la esquina superior izquierda, mostrando el modelo predeterminado con un tooltip que dice Select a model

Si no configuraste una clave del proveedor durante la instalación, añade una en la UI.

Establece una clave del proveedor en la UI

Abre el selector de modelos y haz clic en Set API Key junto al proveedor.

Selector de modelos de LibreChat con el botón Set API Key junto al proveedor Anthropic

Pega tu clave en el cuadro de diálogo y haz clic en Submit. Puedes establecer un vencimiento o hacer que la clave no caduque.

El cuadro de diálogo Set API Key for Anthropic con un desplegable de vencimiento, un campo Key y los botones Submit y Revoke

Selecciona el servidor MCP

El stack preconfigura sus servidores MCP en el archivo librechat.yaml de LibreChat. En el editor de mensajes, haz clic en MCP Servers y selecciona ClickHouse-Local.

Selecciona ClickHouse-Cloud en su lugar para usar un servicio de ClickHouse Cloud.

El menú MCP Servers abierto en el editor de mensajes de LibreChat, mostrando ClickHouse-Local con un punto verde de conexión y ClickHouse-Cloud

Haz tu primera pregunta

Por ejemplo:

¿Qué bases de datos y tablas hay disponibles, y cuántas filas hay en la tabla más grande?

El agente usa las herramientas del servidor MCP para listar bases de datos y tablas, ejecutar consultas de solo lectura en ClickHouse y elaborar una respuesta a partir de los resultados. No necesitas escribir SQL.

LibreChat respondiendo a la pregunta de ejemplo al invocar las herramientas MCP de ClickHouse-Local y listar las bases de datos y tablas disponibles

Detener o restablecer el stack

Detenga los servicios sin eliminar nada:

docker compose down

Para eliminar todos los contenedores y borrar todos los volúmenes para empezar de cero, usa el script para restablecer el stack:

./scripts/reset-all.sh

Arquitectura

docker-compose.yml es un punto de entrada ligero que incluye cuatro archivos de Compose:

Archivo de Compose Define
langfuse-compose.yml Langfuse y sus servicios subyacentes (ClickHouse, PostgreSQL, Redis, MinIO)
clickhouse-mcp-compose.yml El ClickHouse MCP server
librechat-compose.yml LibreChat y sus servicios subyacentes (MongoDB, Meilisearch, pgvector, RAG API)
admin-panel-compose.yml El panel de administración de LibreChat

Hay dos aspectos que hacen posible el arranque con un solo comando:

  • Comprobaciones de estado y orden de inicio. Compose usa comprobaciones de estado para secuenciar el arranque. El servidor MCP espera a ClickHouse, y LibreChat espera al servidor MCP.
  • Archivo de entorno compartido. .env contiene las credenciales y los valores de conexión de cada servicio, configurados de forma coherente para que puedan comunicarse entre sí. Por ejemplo, el servidor MCP se conecta a ClickHouse con las credenciales de ClickHouse definidas en .env. LibreChat recibe LANGFUSE_PUBLIC_KEY, LANGFUSE_SECRET_KEY y LANGFUSE_BASE_URL, por lo que cada ejecución se rastrea en Langfuse desde el primer momento.

ClickHouse desempeña dos funciones en el stack: es tanto el backend de almacenamiento de Langfuse como la base de datos que consulta tu agente a través del servidor MCP.

Próximos pasos

Navigation