УСТАНОВКА / DOCKER COMPOSE
Новая одноузловая установка
Цель — запустить OpenRepo из готового образа без исходного кода и подтвердить готовность приложения. Состояние лицензии и получение пакета через прокси-репозиторий проверяются отдельными шагами.
Применимость
Процедура относится только к новому серверу Linux с Docker Engine и Docker Compose, пустым каталогом установки и новыми томами. Проверенный демонстрационный стенд использовал Ubuntu 24.04.5, Docker Compose 5.6.0 и linux/amd64. Это параметры проверенного стенда, а не универсальные минимальные требования.
Обновление существующей базы, отказоустойчивая установка, Kubernetes, OpenShift и изолированный контур этой процедурой не подтверждаются.
До начала
- Получите комплект установки для нужной версии.
Продолжайте только если манифест выпуска содержит версию, точную контрольную сумму образа и подписи. Пока статус выше закрыт, публичная установка недоступна.
- Подготовьте DNS и TLS.
DNS-имя должно принадлежать вашей организации и указывать на сервер. Для автоматического выпуска сертификата Caddy нужны входящие подключения TCP 80 и 443. UDP 443 используется для HTTP/3.
- Подготовьте постоянные данные.
PostgreSQL, Valkey, двоичные файлы OpenRepo и Caddy используют отдельные именованные тома. Не запускайте процедуру поверх существующих томов неизвестного проекта.
- Сохраните секреты.
Пароль базы данных и 64-символьный шестнадцатеричный мастер-ключ должны храниться вместе с резервными копиями данных в закрытом эксплуатационном хранилище. Замена мастер-ключа не восстанавливает доступ к зашифрованным данным.
Запуск из комплекта установки
Место выполнения: новый сервер Linux, оболочка Bash, каталог распакованного комплекта, пользователь с правами управления Docker. Комплект должен содержать compose.yml, compose.https.yml, Caddyfile, .env.example, манифест выпуска и подписи.
1. Проверьте наличие файлов
test -f compose.yml
test -f compose.https.yml
test -f Caddyfile
test -f .env.example
test -f SHA256SUMS
sha256sum --check SHA256SUMSSHA-256 обнаруживает повреждение, но не подтверждает издателя. Выполните команду проверки Cosign из манифеста соответствующей версии. Пока подписанный манифест не выпущен, сайт не показывает неподтвержденную команду или ключ.
2. Создайте операторский .env
Скопируйте пример, установите права 0600 и заполните обязательные значения согласно справочнику настройки. Не печатайте docker compose config без --quiet: вывод раскрывает секреты.
umask 077
cp .env.example .env
chmod 0600 .env3. Проверьте Compose без раскрытия значений
docker compose --env-file .env \
-f compose.yml -f compose.https.yml config --quietПри ошибке остановитесь. Не удаляйте тома и не ослабляйте TLS, чтобы продолжить.
4. Получите и запустите точный образ
docker compose --env-file .env \
-f compose.yml -f compose.https.yml pull
docker compose --env-file .env \
-f compose.yml -f compose.https.yml up -d
docker compose --env-file .env \
-f compose.yml -f compose.https.yml psOPENREPO_DEMO_IMAGE в .env задается как registry/repository@sha256:…. Изменяемый тег и локальная сборка из исходного кода для клиентской поставки не допускаются.
Проверьте результат
На сервере
curl --disable --silent --show-error --fail \
--connect-timeout 5 --max-time 15 \
http://127.0.0.1:8081/readyzУспешный ответ подтверждает запуск процесса и доступность его текущих зависимостей, но не подтверждает лицензию, TLS с рабочего места или получение пакета.
С рабочей станции
Откройте окончательный адрес HTTPS без --insecure, войдите начальной учетной записью администратора, смените пароль, войдите повторно и проверьте состояние лицензии на странице /system/status. Затем активируйте пробную лицензию и получите пакет через прокси-репозиторий выбранным клиентом.
Когда остановиться
- нет подписанного манифеста выпуска или точной контрольной суммы образа;
- каталог или именованные тома уже содержат неизвестные данные;
- не сохранены мастер-ключ и пароль базы данных;
- TLS не проходит обычную проверку клиента;
- миграция завершилась ошибкой или база данных отмечена как
dirty; - версия работающего образа не совпадает с манифестом выпуска.
Не используйте down -v, удаление базы, отключение проверки сертификата или новый мастер-ключ как универсальное исправление.