Перейти к содержанию

Обзор конфигурации Docker Compose для развертывания BeeCR

Данный раздел документации посвящен особенностям конфигурационного файла для запуска BeeCR на собственном сервере с помощью Docker.

⚠️ Примечание: Если вы ищете пошаговые инструкции по развертыванию на собственных серверах с помощью Docker, пожалуйста, обратитесь к данному руководству.

📄 Требования

Для развертывания решения на сервере требуется:

  1. Сервер на основе Linux (желательно Ubuntu или Debian).
  2. Графический ускоритель NVidia (минимум 24 ГБ памяти, рекомендуется 40 ГБ).
  3. Драйвер NVidia.
    Вы можете убедиться, что драйвер присутствует и работает, выполнив команду типа nvidia-smi (команда должна перечислить доступные GPU).
  4. Docker, а также Docker Compose.
  5. NVIDIA Container Toolkit

🚀 Краткая инструкция

  1. Скачайте файл on-premises/compose.yml в любое место на ваш выбор.
  2. Поместите ваш файл лицензии (предоставляется нашей командой) в ту же папку, где находится compose.yml.
  3. Запустите следующую команду в каталоге с compose.yml, чтобы запустить контейнеры AI и API в режиме демона:
    docker-compose up -d
    

🛠 Расширенная настройка

Рекомендуется изучить документацию "Getting started" по Docker Compose, если вы не знакомы с этим инструментом.

Внешний порт API

По умолчанию предоставленная конфигурация Docker Compose устанавливает порт 8000 для API:

...
ports:
  - "8000:80"
...

Замените 8000 на предпочтительный для вас порт.

Файл лицензии

В предоставленной конфигурации Docker Compose предполагается, что файл лицензии размещается в той же папке, где находится и сам compose.yml:

...
volumes:
  - "./beecr.lic:/app/beecr.lic:ro"
...

Если вы хотите сохранить его в другом месте, просто замените ./beecr.lic на соответствующий путь в вашей файловой системе или в Docker-томе.

Актуальные разделы документации к Docker: Volumes, Bind Mounts.

Адрес GitLab

По умолчанию предоставленная конфигурация Docker Compose устанавливает адрес сервера GitLab как https://gitlab.com с помощью переменной окружения GITLAB_HOST:

- "GITLAB_HOST=https://gitlab.com"

Если вы используете экземпляр GitLab, развернутый в вашей собственной инфраструктуре, то рекомендуется переопределить, задав актуальный адрес GitLab. Однако это не всегда обязательно, так опция применяется только в том случае, если актуальный адрес GitLab не был передан в параметрах HTTP-запроса к API серверу. Если вы собираетесь использовать предоставленные компоненты/шаблоны CI/CD, то нет необходимости переопределять GITLAB_HOST, потому что компоненты/шаблоны CI/CD всегда передают адрес GitLab в параметрах запроса.

Токен доступа к GitLab

В большинстве случаев API сервер BeeCR будет получать токен доступа GitLab через параметры запроса HTTP в каждом запросе на проверку. Однако в некоторых случаях вы можете захотеть установить значение токена по умолчанию на стороне сервера. Для этого выпустите токен доступа к GitLab проекта или группы и установите переменную среды GITLAB_TOKEN:

- "GITLAB_TOKEN=токен-доступа-gitlab"

Если вы собираетесь использовать предоставленные компоненты/шаблоны CI/CD, то нет необходимости переопределять GITLAB_TOKEN, потому что компоненты/шаблоны CI/CD всегда передают токен доступа к GitLab в заголовках HTTP-запроса.

Ollama

Предоставленная конфигурация Docker Compose предполагает, что доступ к ИИ модели выполняется через ИИ сервер с Ollama-совместимым API, который запущен на смежном Docker-контейнером:

- OLLAMA_HOST=http://beecr-ai:11435

Обновите переменную среды OLLAMA_HOST, если вы хотите развернуть ИИ сервер отдельно.

Если же вы собираетесь использовать модели через OpenAI-совместимый API (например модель gpt-4o), то установка опции OLLAMA_HOST не имеет смысла.

OpenAI

Если вы собираетесь использовать модели ИИ через OpenAI-совместимый API, то, возможно, вам может потребоваться задать OPENAI_HOST и/или OPENAI_API_KEY:

  • OPENAI_HOST: Адрес OpenAI-совместимого API сервера. Измените его, если вы используете непосредственно OpenAI,но через прокси-сервер или же используете какой-то сторонний API, совместимый с OpenAI.
  • OPENAI_API_KEY: Ваш ключ доступа к OpenAI API.

⚠️ Примечание: Если вы собираетесь использовать модели ИИ через OpenAI-совместимый API, то, вероятно, вам не нужно запускать Docker контейнер с ИИ локально. В такому случае просто удалите (или закомментируйте) всю секцию beecr-ai в конфигурации Docker Compose.

Модель

Предоставленная конфигурация Docker Compose задаёт ИИ модель через переменную среды MODEL.

- "MODEL=ollama/codestral:22b"

Эта опция применяется только в том случае, если входящие запросы HTTP API не указывают модель явно. Если вы собираетесь использовать предоставленные компоненты/шаблоны CI/CD, то нет необходимости переопределять MODEL, потому что компоненты/шаблоны CI/CD всегда передают модель через запросы.

⚠️ Примечание:

  • Для OpenAI-совместимых API используйте имена моделей "как есть" например, gpt-4o.
  • Для Ollama-совместимых API используйте имена моделей с префиксом ollama/, например, ollama/codestral:22b.