Установка оффлайн
На этой странице:
- 1. Скачайте и упакуйте образы на промежуточной машине
- 2. Перенесите архивы на целевой сервер
- 3. Загрузите образы на целевом сервере
- 4. Продолжите установку
Если на целевом сервере ProtoOBP Backend отсутствует доступ в Интернет и к репозиторию образов вендора (registry.git.proto.group), Docker образы можно перенести вручную: скачать их на промежуточной машине с доступом в Интернет, сохранить в архив командой docker save, перенести архив на целевой сервер и загрузить командой docker load.
Понадобятся:
- Промежуточная машина с установленным Docker и доступом в Интернет к репозиторию вендора (например, рабочий ноутбук или сервер сборки).
- Целевой сервер ProtoOBP Backend с установленным Docker (требования см. в разделе Подготовка сервера).
1. Скачайте и упакуйте образы на промежуточной машине
Авторизуйтесь в репозитории вендора (<USERNAME> и пароль указаны в лицензионном сертификате в разделе “Учетные данные”):
docker login --username <USERNAME> registry.git.proto.group
Сохраните приведённый ниже скрипт в файл protoobp-save-images.sh и запустите его (bash protoobp-save-images.sh). Скрипт скачает все образы и упакует их в один сжатый архив protoobp-images-203.tar.gz:
#!/usr/bin/env bash
#
# Скачивает образы ProtoOBP Backend и упаковывает их в один архив
# для переноса на сервер без доступа в Интернет.
# Перед запуском выполните: docker login registry.git.proto.group
#
set -euo pipefail
REGISTRY="registry.git.proto.group/protoobp/protoobp-artifacts"
TAG="203"
ARCHIVE="protoobp-images-${TAG}.tar.gz"
IMAGES=(
"proto-ai-agent-assistant:${TAG}"
"proto-ai-agent-investigator:${TAG}"
"proto-alert-monitor:${TAG}"
"proto-alert-processor:${TAG}"
"proto-alert-rule-manager:${TAG}"
"proto-alertmanager:${TAG}"
"proto-api-manager:${TAG}"
"proto-auth:${TAG}"
"proto-backend-logs-viewer:${TAG}"
"proto-data-aggregator:${TAG}"
"proto-data-analyzer-api:${TAG}"
"proto-data-analyzer-refresh:${TAG}"
"proto-data-analyzer-router:${TAG}-non-avx"
"proto-data-analyzer-router:${TAG}"
"proto-data-analyzer-worker-1:${TAG}-non-avx"
"proto-data-analyzer-worker-1:${TAG}"
"proto-data-analyzer-worker-2:${TAG}-non-avx"
"proto-data-analyzer-worker-2:${TAG}"
"proto-database:${TAG}"
"proto-graph-builder:${TAG}"
"proto-incident-manager:${TAG}"
"proto-job-runner:${TAG}"
"proto-kafka:${TAG}"
"proto-log-storage:${TAG}"
"proto-mcp:${TAG}"
"proto-metric-adapter:${TAG}"
"proto-metric-analyzer:${TAG}"
"proto-metric-exporter:${TAG}"
"proto-metric-receiver:${TAG}"
"proto-metric-storage:${TAG}"
"proto-nginx:${TAG}"
"proto-otel-collector:${TAG}"
"proto-postgresql:${TAG}"
"proto-report-renderer:${TAG}"
"proto-report-runner:${TAG}"
"proto-storage:${TAG}"
"proto-trace-processor:${TAG}"
"proto-ui:${TAG}"
"proto-zookeeper:${TAG}"
"protoobp-agent:${TAG}"
)
# Полные имена образов (REGISTRY + имя:тег)
FULL=()
for img in "${IMAGES[@]}"; do
FULL+=("${REGISTRY}/${img}")
done
echo ">>> Скачивание ${#FULL[@]} образов..."
for img in "${FULL[@]}"; do
echo " pull ${img}"
docker pull "${img}"
done
echo ">>> Сохранение образов в ${ARCHIVE} (может занять несколько минут)..."
docker save "${FULL[@]}" | gzip > "${ARCHIVE}"
echo ">>> Готово: ${ARCHIVE} ($(du -h "${ARCHIVE}" | cut -f1))"
Дополнительно скачайте архив с файлами дистрибутива (docker-compose-203.yaml, шаблон .env и др.) — он также потребуется на целевом сервере:
curl --header "PRIVATE-TOKEN:<your_token>" \
"https://git.proto.group/api/v4/projects/100/packages/generic/protoobp-backend-dist/203/protoobp-backend-dist-singlehost-203.tar.gz" \
--output protoobp-backend-dist-singlehost-203.tar.gz
где <your_token> – ваш пароль, указанный в лицензионном сертификате.
2. Перенесите архивы на целевой сервер
Перенесите на целевой сервер оба файла — архив с образами и архив с дистрибутивом — любым доступным способом (scp, съёмный носитель и т.п.). Пример с scp:
scp protoobp-images-203.tar.gz protoobp-backend-dist-singlehost-203.tar.gz \
user@protoobp-backend:/opt/protoobp/
3. Загрузите образы на целевом сервере
Сохраните скрипт в файл protoobp-load-images.sh и запустите его на целевом сервере (docker load автоматически распаковывает gzip):
#!/usr/bin/env bash
set -euo pipefail
ARCHIVE="${1:-protoobp-images-203.tar.gz}"
echo ">>> Загрузка образов из ${ARCHIVE}..."
docker load -i "${ARCHIVE}"
echo ">>> Загруженные образы ProtoOBP:"
docker images | grep protoobp-artifacts
Либо выполните команду напрямую:
docker load -i /opt/protoobp/protoobp-images-203.tar.gz
4. Продолжите установку
Далее выполните установку, как описано в разделе Без использования скрипта установки, со следующими отличиями:
- архив с дистрибутивом уже перенесён на сервер — распакуйте его в
/opt/protoobp(шаг 1 инструкции), скачивать его повторно черезcurlне нужно; - пропустите шаг с
docker loginи командойdocker compose -f docker-compose-203.yaml pull— образы уже загружены локально; - не изменяйте переменную
DOCKER_REGISTRYв файле.env, чтобы имена образов совпадали с теми, которые используетdocker-compose-203.yaml; - запустите систему командой:
docker compose -f docker-compose-203.yaml up -d