Установка с помощью Docker Compose
Установка с помощью Docker Compose подходит для развертывания TRON.ASOC на одном сервере. Для развертывания в кластере Kubernetes см. раздел Установка с помощью Helm Chart.
Перед началом работы
Для установки TRON.ASOC с помощью Docker Compose потребуются:
- учетные данные для доступа к реестру
pcr.tronasoc.ru— логин и пароль запросите в службе поддержки: support@tronasoc.ru; - архив
asoc-v1.7-docker-compose.zipс конфигурационными файлами — актуальную версию запросите в службе поддержки; - доменное имя для веб-интерфейса TRON.ASOC — зарезервируйте его в инфраструктуре заранее.
Быстрая установка с помощью install.sh
Самый быстрый способ установить TRON.ASOC — распаковать архив с конфигурационными файлами и запустить скрипт install.sh:
unzip asoc-v1.7-docker-compose.zip
cd asoc-v1.7-docker-compose
./install.sh
Скрипт создает файл .env (или дополняет существующий, проверив обязательные переменные), генерирует недостающие секретные значения и запускает установку.
Чтобы настроить дополнительные параметры (HTTPS, выбор S3-совместимого хранилища, ИИ-сервисы), задайте нужные переменные вручную перед запуском скрипта, как описано в разделе Порядок действий ниже, либо отредактируйте файл .env после первого запуска скрипта и перезапустите установку.
Порядок действий
Ручная установка TRON.ASOC с помощью Docker Compose включает следующие этапы:
Настройка окружения
Чтобы настроить окружение, выполните следующие шаги:
-
Распакуйте архив с конфигурационными файлами:
unzip asoc-v1.7-docker-compose.zipcd asoc-v1.7-docker-compose -
Создайте файл
.envи задайте обязательные переменные:ASOC_DOMAIN=asoc.example.comASOC_SCHEME=httpCOMPOSE_PROFILES=minioК сведениюЗначение переменной
ASOC_DOMAIN— доменное имя, по которому будет доступен веб-интерфейс TRON.ASOC. Если в инфраструктуре нет настроенного DNS-сервера, добавьте в локальный файлhostsследующую запись:echo "127.0.0.1 asoc.example.com" | sudo tee -a /etc/hostsВниманиеДля пилотных проектов с доступом из сети создайте на DNS-сервере A-запись, указывающую на IP-адрес сервера с Docker Compose.
-
Выберите схему доступа к веб-интерфейсу значением переменной
ASOC_SCHEME:http(по умолчанию) —nginxслушает порт 80, сертификаты не требуются;https—nginxслушает порт 443 с перенаправлением с порта 80. Сертификатыfullchain.pemиprivkey.pemнужно поместить в каталог./certsлибо указать другой каталог переменнойASOC_TLS_CERTS_DIR.
К сведениюПри использовании
httpsрекомендуется также задать переменнуюHTTP_COOKIE_SECURE=true. -
Выберите S3-совместимое хранилище для хранения отчетов и результатов сканирования и укажите его в переменной
COMPOSE_PROFILES:-
MinIO (по умолчанию):
COMPOSE_PROFILES=minio -
SeaweedFS:
COMPOSE_PROFILES=seaweedfsASOC_MINIO_HOST=seaweedfs
ВниманиеЕсли не указать значение переменной
COMPOSE_PROFILES, то ни MinIO, ни SeaweedFS не будут запущены и отчеты не будут сохраняться. -
-
При выборе MinIO создайте директорию для хранения его данных:
sudo mkdir -p /mnt/minio-datasudo chown -R 2222:2222 /mnt/minio-datasudo chmod -R 755 /mnt/minio-dataК сведениюДля SeaweedFS отдельная директория не требуется — его данные хранятся в томе Docker
seaweedfs-data. -
При необходимости включите ИИ-сервисы, добавив соответствующий профиль в переменную
COMPOSE_PROFILES:-
ИИ-ассистент (
ai-serviceиrag):COMPOSE_PROFILES=minio,assistantДополнительно задайте в файле
.envключ авторизации GigaChat (AI_SERVICE_GIGACHAT_AUTH_KEY).Fernet-ключ (
AI_SERVICE_SETTINGS_ENCRYPTION_KEY) и MCP-токен (ASOC_MCP_TOKEN) при установке черезinstall.shгенерируются автоматически; при ручной настройке укажите их самостоятельно. -
Copilot (сервис
fp):COMPOSE_PROFILES=minio,fpASOC_COPILOT_ENABLED=trueLLM_API_KEY=<ключ LLM-провайдера>Подробнее об установке и настройке сервиса см. раздел Установка и запуск сервиса AI FP.
К сведениюПрофили можно комбинировать: например, значение
COMPOSE_PROFILES=minio,assistant,fpвключит оба ИИ-сервиса вместе с хранилищем MinIO.К сведениюПо умолчанию используются следующие теги образов:
front,core,reporter— v1.7.1;ai-service,rag— v1.7.1;fp(copilot-fp-service) — v1.7.1 (профильfp, по умолчанию отключен);nginx(reverse-proxy) — v1.6. Версии образов можно переопределить переменнымиASOC_IMG_*. -
-
Проверьте конфигурацию, запустив скрипт
show.sh:./show.shРезультат шага: скрипт выводит текущие значения переменных окружения. Убедитесь, что значения
ASOC_DOMAIN,ASOC_SCHEMEиCOMPOSE_PROFILESзаданы корректно.
Запуск
Чтобы запустить TRON.ASOC, выполните следующие шаги:
-
Авторизуйтесь в реестре контейнеров:
docker login pcr.tronasoc.ru -
Запустите контейнеры:
docker compose up -dРезультат шага: запуск всех сервисов обычно занимает от 15 секунд до 1,5 минут. На старте сервис
coreвыполняет миграции базы данных, поэтому статусhealth: startingв этот период — ожидаемое поведение. -
Проверьте статус контейнеров:
docker compose psРезультат шага: контейнеры имеют статус
Running(или аналогичный, напримерUp About a minute).
Проверка работоспособности
Чтобы проверить работоспособность TRON.ASOC, выполните следующие шаги:
-
Откройте в браузере адрес
http://<домен>(илиhttps://<домен>, если задана переменнаяASOC_SCHEME=https), где<домен>— значение переменнойASOC_DOMAIN(например,http://asoc.example.com). -
Дождитесь загрузки страницы авторизации и войдите с учетными данными
admin/admin.К сведениюПри первом входе необходимо принять условия лицензионного соглашения (EULA).
Убедитесь, что страница авторизации TRON.ASOC открылась и вход в систему выполнен успешно.
Сразу после первого входа смените пароль администратора — учетные данные admin / admin предназначены только для первого запуска.