Skip to content

Обновление Docker Compose с 1.11 до 1.12 ​

Все команды выполняйте в прежней директории установки. Если использовали docker compose -p NAME, добавляйте прежнее -p NAME к каждой команде.

Подготовка ​

Сохраните прежние docker-compose.yaml, default.conf и .env.

В .env укажите образы Core и frontend с тегом cypress-1.12. Остальные значения возьмите из действующей конфигурации без изменений

ini
CORE_IMAGE=nextbox-docker.ptnl.moscow/nextbox/core:cypress-1.12
FRONTEND_IMAGE=nextbox-docker.ptnl.moscow/nextbox/frontend:cypress-1.12
NEXTBOX_URL=http://<адрес_сервера>:8095
POSTGRES_PASSWORD=<действующий_пароль_PostgreSQL>
SERVICE_TOKEN=<действующий_service_token>
JWT_SIGN_KEY=<действующий_JWT_key>
CONNECTIONS_SECURITY_KEY='<действующий_AES_ключ>'
ONLYOFFICE_JWT_SECRET=<действующий_ключ_Document_Server>
ONLYOFFICE_DOCUMENT_KEY_PREFIX=<действующий_префикс>
RABBITMQ_USER=guest
RABBITMQ_PASSWORD=guest
RABBITMQ_VHOST=/

Если реквизиты RabbitMQ менялись, оставьте действующие значения. Новые ключи не генерируйте.

Сохраните Compose из инструкции установки как docker-compose-1.12.yaml. Не запускайте generate-env.sh.

Сохраните прежние версии PostgreSQL, RabbitMQ и Redis, имена томов и пути их подключения. Добавьте отдельные сервисы Document Server, Callbox и другие используемые расширения.

Перенесите изменённые DSN модулей, Redis DB, настройки S3, пути и ключи шифрования в core.environment. Общие подключения задаются через POTENTIAL_CORE_DATABASE_ADMIN_DSN, POTENTIAL_CORE_REDIS_* и POTENTIAL_CORE_RABBIT_MQ_*.

Если лицензия находилась в отдельном томе license_data, подключите его к core по пути /var/nextbox/license.

Проверьте конфигурацию и загрузите новые образы

bash
docker compose -f docker-compose-1.12.yaml config --quiet
docker compose -f docker-compose-1.12.yaml pull core frontend

Обновление ​

Остановите старые прикладные сервисы, оставив инфраструктуру запущенной

bash
docker compose stop $(docker compose config --services | grep -vE '^(postgresql|rabbitmq|redis)$')

Сохраните PostgreSQL и прежнюю конфигурацию

bash
umask 077
backup_dir="nextbox-backup-$(date +%Y%m%d-%H%M%S)"
mkdir "$backup_dir"
docker compose exec -T postgresql pg_dumpall -U nextbox > "$backup_dir/postgresql.sql"
cp -p docker-compose.yaml default.conf .env "$backup_dir/"

Сохраните резервную копию томов с файлами.

В default.conf замените gateway:6005 на core:6005 для маршрутов /api и /l/.

Замените Compose и запустите новую версию

bash
cp docker-compose-1.12.yaml docker-compose.yaml
docker compose up -d --wait --remove-orphans
docker compose ps
docker compose exec -T core wget -q -O- http://127.0.0.1:6005/readyz

Проверьте вход существующего пользователя, скачивание старого файла, загрузку нового и открытие офисного документа.

Не запускайте старые backend-контейнеры после миграции и не удаляйте тома. Возврат к 1.11 требует восстановления резервной копии.