Обзор конфигурации Docker Compose для развертывания BeeCR
Данный раздел документации посвящен особенностям конфигурационного файла для запуска BeeCR на собственном сервере с помощью Docker.
⚠️ Примечание: Если вы ищете пошаговые инструкции по развертыванию на собственных серверах с помощью Docker, пожалуйста, обратитесь к данному руководству.
📄 Требования
Для развертывания решения на сервере требуется:
- Сервер на основе Linux (желательно Ubuntu или Debian).
- Графический ускоритель NVidia (минимум 24 ГБ памяти, рекомендуется 40 ГБ).
- Драйвер NVidia.
Вы можете убедиться, что драйвер присутствует и работает, выполнив команду типаnvidia-smi
(команда должна перечислить доступные GPU). - Docker, а также Docker Compose.
- NVIDIA Container Toolkit
🚀 Краткая инструкция
- Скачайте файл on-premises/compose.yml в любое место на ваш выбор.
- Поместите ваш файл лицензии (предоставляется нашей командой) в ту же папку, где находится
compose.yml
. - Запустите следующую команду в каталоге с
compose.yml
, чтобы запустить контейнеры AI и API в режиме демона:
🛠 Расширенная настройка
Рекомендуется изучить документацию "Getting started" по Docker Compose, если вы не знакомы с этим инструментом.
Внешний порт API
По умолчанию предоставленная конфигурация Docker Compose устанавливает порт 8000
для API:
Замените 8000
на предпочтительный для вас порт.
Файл лицензии
В предоставленной конфигурации Docker Compose предполагается, что файл лицензии размещается в той же папке, где находится и сам compose.yml
:
Если вы хотите сохранить его в другом месте, просто замените ./beecr.lic
на соответствующий путь в вашей файловой системе или в Docker-томе.
Актуальные разделы документации к Docker: Volumes, Bind Mounts.
Адрес GitLab
По умолчанию предоставленная конфигурация Docker Compose устанавливает адрес сервера GitLab как https://gitlab.com
с помощью переменной окружения GITLAB_HOST
:
Если вы используете экземпляр GitLab, развернутый в вашей собственной инфраструктуре, то рекомендуется переопределить, задав актуальный адрес GitLab. Однако это не всегда обязательно, так опция применяется только в том случае, если актуальный адрес GitLab не был передан в параметрах HTTP-запроса к API серверу. Если вы собираетесь использовать предоставленные компоненты/шаблоны CI/CD, то нет необходимости переопределять GITLAB_HOST
, потому что компоненты/шаблоны CI/CD всегда передают адрес GitLab в параметрах запроса.
Токен доступа к GitLab
В большинстве случаев API сервер BeeCR будет получать токен доступа GitLab через параметры запроса HTTP в каждом запросе на проверку.
Однако в некоторых случаях вы можете захотеть установить значение токена по умолчанию на стороне сервера.
Для этого выпустите токен доступа к GitLab проекта или группы и установите переменную среды GITLAB_TOKEN
:
Если вы собираетесь использовать предоставленные компоненты/шаблоны CI/CD, то нет необходимости переопределять GITLAB_TOKEN
, потому что компоненты/шаблоны CI/CD всегда передают токен доступа к GitLab в заголовках HTTP-запроса.
Ollama
Предоставленная конфигурация Docker Compose предполагает, что доступ к ИИ модели выполняется через ИИ сервер с Ollama-совместимым API, который запущен на смежном Docker-контейнером:
Обновите переменную среды 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
.
Эта опция применяется только в том случае, если входящие запросы HTTP API не указывают модель явно.
Если вы собираетесь использовать предоставленные компоненты/шаблоны CI/CD, то нет необходимости переопределять MODEL
, потому что компоненты/шаблоны CI/CD всегда передают модель через запросы.
⚠️ Примечание:
- Для OpenAI-совместимых API используйте имена моделей "как есть" например,
gpt-4o
.- Для Ollama-совместимых API используйте имена моделей с префиксом
ollama/
, например,ollama/codestral:22b
.