Обзор конфигурации 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
Опции, описанные в данном разделе, актуальны только при использовании моделей через Ollama API.
Если вы планируете использовать модели через OpenAI-совместимый API (например, модель gpt-4o), эти настройки не будут иметь никакого эффекта.
Предоставленная конфигурация Docker Compose предполагает, что доступ к ИИ модели выполняется через ИИ сервер с Ollama-совместимым API, который запущен на смежном Docker-контейнером.
Обновите переменную среды OLLAMA_HOST, если вы хотите развернуть ИИ сервер отдельно:
По умолчанию предоставленный контейнер с Ollama рассчитан на сервер с 24 ГБ видеопамяти (VRAM). Если ваше оборудование более производительное и оснащено одной или несколькими видеокартами с суммарным объемом памяти более 24 ГБ (например, 48 ГБ или 80 ГБ), рекомендуется указать API серверу доступный объем видеопамяти. Это позволит BeeCR загружать больше информации в контекст ИИ, что приведет к более точным комментариям. Если на вашем сервере несколько видеокарт, укажите сумму их памяти.
ИИ-сервер на базе Ollama может быть настроен для обработки одного или нескольких запросов одновременно. По умолчанию предоставленный контейнер с ИИ настроен на 2 параллельных потока обработки. В зависимости от вашего оборудования и приоритетов (скорость обработки или полнота комментариев) вы можете увеличить количество параллельных потоков. Однако имейте в виду, что большее количество потоков означает большую производительность, но и больший расход видеопамяти (VRAM). Держите эту настройку согласованной между ИИ и API серверами.
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.