> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-mintlify-fbfa8bee.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Настройка Agentic Data Stack с помощью Docker Compose

> Запустите весь Agentic Data Stack (ClickHouse, LibreChat, MCP-сервер и Langfuse) через Docker Compose

export const Image = ({img, alt, size}) => {
  return <Frame>
      <img src={img} alt={alt} />
    </Frame>;
};

Запустите полный Agentic Data Stack локально с помощью Docker Compose, чтобы сразу после первого входа задавать вопросы по своим данным. Одной командой `docker compose up` вы запустите [LibreChat](/ru/products/agentic-data-stack/components/librechat), [MCP-сервер ClickHouse](/ru/products/agentic-data-stack/components/mcp-server), [ClickHouse](/ru/core/get-started/setup/install) и [Langfuse](/ru/products/agentic-data-stack/components/langfuse) для обсервабилити.

<div id="prerequisites">
  ## Предварительные требования
</div>

* **Docker** с плагином Compose (Compose v2 или новее).
* **Git** для клонирования репозитория.
* API-ключ провайдера модели (например, OpenAI, Anthropic или Google). Агенту нужна модель, чтобы отвечать на вопросы, поэтому укажите ключ при настройке или добавьте его в интерфейсе LibreChat перед первым чатом.

<div id="stand-up-the-stack">
  ## Разверните стек
</div>

<Steps>
  <Step title="Клонируйте репозиторий">
    ```bash theme={null}
    git clone https://github.com/ClickHouse/agentic-data-stack
    cd agentic-data-stack
    ```

    В репозитории есть файл `docker-compose.yml` в корне, поэтому весь стек можно поднять одной командой. Полный список сервисов см. в разделе [Архитектура](#how-it-is-wired).
  </Step>

  <Step title="Запустите скрипт подготовки демо">
    ```bash theme={null}
    ./scripts/prepare-demo.sh
    ```

    Скрипт создаст файл `.env` с учетными данными для всех сервисов, а затем предложит интерактивное меню для настройки ключей API выбранного провайдера. Эти ключи API также можно задать напрямую в файле `.env`. Для любого пропущенного провайдера останется значение `user_provided`, поэтому позже вы сможете добавить свой ключ в интерфейсе LibreChat.

    При первом запуске стек создает пользователя admin из `.env`. Логин по умолчанию: `admin@admin.com` / `password`.

    <Accordion title="Задайте собственные учетные данные для входа">
      Запустите `generate-env.sh` с этими переменными перед `prepare-demo.sh`:

      ```bash theme={null}
      USER_EMAIL="you@example.com" USER_PASSWORD="supersecret" USER_NAME="YourName" ./scripts/generate-env.sh
      ```

      После этого `prepare-demo.sh` обнаружит существующий `.env` и сразу перейдет к настройке ключей API.
    </Accordion>
  </Step>

  <Step title="Запустите сервисы в фоновом режиме">
    ```bash theme={null}
    docker compose up -d
    ```

    Порядок запуска регулируется автоматически. LibreChat запускается только после того, как MCP-сервер станет доступен, поэтому при первой загрузке соединение с ClickHouse уже будет готово.
  </Step>

  <Step title="Откройте LibreChat и войдите">
    Когда стек будет запущен, сервисы станут доступны в браузере:

    * **LibreChat** (интерфейс чата) — [http://localhost:3080](http://localhost:3080)
    * **Langfuse** (обсервабилити) — [http://localhost:3000](http://localhost:3000)
    * **Admin Panel** (настройка LibreChat в браузере) — [http://localhost:3081](http://localhost:3081)
    * **MinIO console** (объектное хранилище; учетные данные в `.env`) — [http://localhost:9091](http://localhost:9091)

    Войдите в LibreChat с учетными данными администратора из файла `.env`.
  </Step>

  <Step title="Выберите модель">
    По умолчанию модель уже выбрана. Если хотите ее изменить, откройте селектор моделей и выберите нужную.

    <Image img="https://mintcdn.com/private-7c7dfe99-mintlify-fbfa8bee/Sr_JUhB6DLeeNQJ0/images/agentic-data-stack/select-model.png?fit=max&auto=format&n=Sr_JUhB6DLeeNQJ0&q=85&s=9af544733004bbfdeed5cf4f07840351" alt="Селектор моделей LibreChat в левом верхнем углу, показывающий модель по умолчанию с подсказкой Select a model" size="md" width="3128" height="1936" data-path="images/agentic-data-stack/select-model.png" />

    Если во время настройки вы не задали ключ провайдера, добавьте его в интерфейсе.

    <Accordion title="Задайте ключ провайдера в интерфейсе">
      Откройте селектор моделей и нажмите **Set API Key** рядом с провайдером.

      <Image img="https://mintcdn.com/private-7c7dfe99-mintlify-fbfa8bee/Sr_JUhB6DLeeNQJ0/images/agentic-data-stack/set-api-key.png?fit=max&auto=format&n=Sr_JUhB6DLeeNQJ0&q=85&s=69fff45b66e903799f8abb5153aca0ef" alt="Селектор моделей LibreChat с кнопкой Set API Key рядом с провайдером Anthropic" size="md" width="3128" height="1936" data-path="images/agentic-data-stack/set-api-key.png" />

      Вставьте свой ключ в диалоговое окно и нажмите **Submit**. Вы можете задать срок действия или сделать ключ бессрочным.

      <Image img="https://mintcdn.com/private-7c7dfe99-mintlify-fbfa8bee/Sr_JUhB6DLeeNQJ0/images/agentic-data-stack/set-api-key-modal.png?fit=max&auto=format&n=Sr_JUhB6DLeeNQJ0&q=85&s=ec3e5648e1d6cfa19f1dfcee171023b9" alt="Диалоговое окно Set API Key for Anthropic с выпадающим списком срока действия, полем Key и кнопками Submit и Revoke" size="md" width="1350" height="728" data-path="images/agentic-data-stack/set-api-key-modal.png" />
    </Accordion>
  </Step>

  <Step title="Выберите MCP-сервер">
    Стек заранее настраивает свои MCP-серверы в `librechat.yaml` LibreChat. В поле ввода сообщения нажмите **MCP Servers** и выберите **ClickHouse-Local**.

    Чтобы использовать сервис ClickHouse Cloud, выберите **ClickHouse-Cloud**.

    <Image img="https://mintcdn.com/private-7c7dfe99-mintlify-fbfa8bee/Sr_JUhB6DLeeNQJ0/images/agentic-data-stack/select-clickhouse-local.png?fit=max&auto=format&n=Sr_JUhB6DLeeNQJ0&q=85&s=ff44ffb9d7fb0dbfedc2eef7c0f5c6b3" alt="Открытое меню MCP Servers в поле ввода LibreChat, показывающее ClickHouse-Local с зеленой точкой подключения и ClickHouse-Cloud" size="md" width="2036" height="742" data-path="images/agentic-data-stack/select-clickhouse-local.png" />
  </Step>

  <Step title="Задайте свой первый вопрос">
    Например:

    > Какие базы данных и таблицы доступны и сколько строк в самой большой таблице?

    Агент использует инструменты MCP-сервера, чтобы получить список баз данных и таблиц, выполнять запросы к ClickHouse в режиме только для чтения и формировать ответ на основе результатов. Вам не нужно писать SQL.

    <Image img="https://mintcdn.com/private-7c7dfe99-mintlify-fbfa8bee/Sr_JUhB6DLeeNQJ0/images/agentic-data-stack/prompt-chat.png?fit=max&auto=format&n=Sr_JUhB6DLeeNQJ0&q=85&s=6076487279add1baffd481bd7b46b1e7" alt="LibreChat отвечает на пример вопроса, вызывая инструменты MCP ClickHouse-Local и перечисляя доступные базы данных и таблицы" size="md" width="3838" height="1936" data-path="images/agentic-data-stack/prompt-chat.png" />
  </Step>
</Steps>

<div id="stop-or-reset">
  ## Остановить или сбросить стек
</div>

Остановите сервисы, ничего не удаляя:

```bash theme={null}
docker compose down
```

Чтобы удалить все контейнеры и очистить все тома, чтобы начать с чистого листа, используйте скрипт сброса стека:

```bash theme={null}
./scripts/reset-all.sh
```

<div id="how-it-is-wired">
  ## Архитектура
</div>

`docker-compose.yml` — это небольшая точка входа, которая включает четыре файла Compose:

| Файл Compose                 | Описание                                                                      |
| ---------------------------- | ----------------------------------------------------------------------------- |
| `langfuse-compose.yml`       | Langfuse и связанные с ним сервисы (ClickHouse, PostgreSQL, Redis, MinIO)     |
| `clickhouse-mcp-compose.yml` | MCP-сервер ClickHouse                                                         |
| `librechat-compose.yml`      | LibreChat и связанные с ним сервисы (MongoDB, Meilisearch, pgvector, RAG API) |
| `admin-panel-compose.yml`    | LibreChat Admin Panel                                                         |

Есть две особенности, благодаря которым запуск одной командой работает:

* **Проверки работоспособности и порядок запуска.** Compose использует проверки работоспособности, чтобы выстроить последовательность запуска. MCP-сервер ждёт ClickHouse, а LibreChat — MCP-сервер.
* **Общий файл окружения.** В `.env` хранятся учётные данные и параметры подключения для каждого сервиса; они согласованы между собой, чтобы сервисы могли взаимодействовать друг с другом. Например, MCP-сервер подключается к ClickHouse с учётными данными ClickHouse из `.env`. LibreChat получает `LANGFUSE_PUBLIC_KEY`, `LANGFUSE_SECRET_KEY` и `LANGFUSE_BASE_URL`, поэтому каждая сессия по умолчанию трассируется в Langfuse.

В этом stack ClickHouse выполняет две роли: это и бэкенд хранилища Langfuse, и база данных, к которой ваш агент отправляет запросы через MCP-сервер.

<div id="next-steps">
  ## Следующие шаги
</div>

* Узнайте, за что отвечает каждый компонент этого стека: [MCP-сервер ClickHouse](/ru/products/agentic-data-stack/components/mcp-server), [LibreChat](/ru/products/agentic-data-stack/components/librechat) и [Langfuse](/ru/products/agentic-data-stack/components/langfuse).
* См. [обзор](/ru/products/agentic-data-stack/overview), чтобы понять, как всё это работает вместе.
* Чтобы опробовать стек на публичных датасетах без установки, воспользуйтесь [AgentHouse](https://llm.clickhouse.com) — размещённой демоверсией.
