https://git.cyberintel.ru/project/kiberrazvedka/kr-deploy
Docker Compose:
Данная секция описывает, как развернуть проект с помощью Docker Compose на одной машине. Обычно такая конфигурация применяется для демо‑стендов, дев‑хостов и т. п.
Настройка:
cp docker/env.example .env
Настройте приложение, задав конфигурационные переменные в файле .env.
Доступные переменные:
kr-backend;kr-frontend.Обязательно скопируйте отредактированный .env также в папку docker/, это требуется для контейнеров генерации сертификата:
cp .env docker/
Kubernetes:
Данная секция описывает, как запустить проект в кластере Kubernetes с помощью Helm Chart.
Настройка:
cp helm/values.yaml helm/values.override.yaml
В качестве альтернативы можно переопределить значения переменных при запуске команды helm install через --set, но это менее удобно — потребуется указать много переменных сразу.
Заглушки для чувствительных данных (логины, пароли, ключи) указаны в helm/secrets.sample.yaml. Скопируйте файл в helm/secrets.yaml и замените все пароли на актуальные:
cp helm/secrets-sample.yaml helm/secrets.yaml
Основные опции:
global.opensearch.enabled (true) — запуск сервисов Opensearch.Запуск через Docker Compose:
Профили:
api — только сервис API;back — только фоновые воркеры (worker, beat, ct_scanner, selenium);https — запуск прокси‑сервера nginx и certbot для работы SSL;db — все базы данных (PostgreSQL, Redis, Opensearch, Opensearch Dashboard, Flower Dashboard);opensearch — только Opensearch, Opensearch Dashboard;ui — только сервис фронта;selenium — только сервис selenium;full — полный набор сервисов, кроме https.Алгоритм запуска:
Генерация сертификатов Let's Encrypt:
docker compose -f docker/docker-compose.gencert.yml up
После появления строк Successfully received certificate. нажмите Ctrl+C для завершения временных контейнеров.
Запуск полной версии с профилем https:
docker compose --profile full --profile https up -d
Запуск через Kubernetes:
Перейдите в директорию с чартом Helm:
cd ./helm
Добавьте репозиторий Яндекс:
helm repo add yandex https://mirror.yandex.ru/helm/charts.bitnami.com/
Обновите зависимости чарта Helm:
helm dependency update
Проверьте, что Helm генерирует верную конфигурацию:
helm install --dry-run cyberintel . -f values.yaml -f secrets.yaml -f values.override.yaml
Установите программу и зависимости в кластере Kubernetes:
helm install cyberintel . -f values.yaml -f secrets.yaml -f values.override.yaml
Вы можете использовать локальную LLM‑модель вместо подключения к OpenAI API. Это удобно при разработке или тестировании, когда нет доступа к внешнему API. В качестве модели используется Qwen/Qwen2.5-7B-Instruct, запускаемая через vLLM.
Установка и запуск:
./scripts/run_local_llm.sh
Что делает скрипт:
torch, transformers, vllm[serve]);vllm serve на порте 8085 с параметрами:vllm serve Qwen/Qwen2.5-7B-Instruct \
--port 8085 \
--enable-auto-tool-choice \
--tool-call-parser llama3_json
Настройка Docker:
Чтобы контейнер api мог обращаться к хост‑машине, добавьте в docker-compose.yml:
extra_hosts:
- "host.docker.internal:host-gateway"
Теперь внутри контейнера можно обратиться к хосту по адресу host.docker.internal.
Параметры окружения (в .env):
OPENAI_API_URL=http://host.docker.internal:8085/v1
OPENAI_API_KEY=EMPTY
OPENAI_API_MODEL=Qwen/Qwen2.5-7B-Instruct
Проверка точности:
Результаты проверки точности модели Qwen/Qwen2.5-7B-Instruct и сравнение с моделью gpt-4o-mini находятся в файле:
docs/llm/Qwen2.5_evaluation_results.json