Обновление системы с помощью Docker¶
Совет
Ниже приведен пример обновления системы с версии 2.6 на 2.7
Предварительные условия¶
- Сервер, на котором размещена обновляемая версия Юниверс DG, имеет доступ к интернету. 
- Установлен Git. 
- Установлен Docker Compose (версия выше 1.29). 
- Проект Юниверс DG был клонирован на сервер. 
Обновление системы¶
Предупреждение
Начиная с версии 2.5 был осуществлен переход с Elasticsearch на OpenSearch. Если обновлять ветку, имея поднятый docker, то старый контейнер elasticsearch будет препятствовать дальнейшим запускам. Поэтому рекомендуется выполнить нижеописанные действия
- Перед обновлением остановите работу образа Docker Compose через команду - docker-compose down- Поднять контейнеры после обновления возможно через команду: docker-compose up --force-recreate -d --remove-orphans. Последняя опция очищает Elasticsearch контейнер 
 
- Войдите в репозиторий Gitlab (доступ к репозиторию с дистрибутивом вашего продукта должен быть получен заранее согласно договору поставки). 
- Переключитесь на ветку release/2.7 
- Извлеките проект. Команда - git pull
- Выполните миграцию на Opensearch с потерей или сохранением данных (см. инструкцию ниже). 
- Перейдите в каталог с кодом. Пример команды: - cd universe-dg-deploy 
- При необходимости в файле .env, расположенном в корне проекта, измените параметры для БД и параметры портов. Пример параметров ниже. 
- Для запуска системы используйте команду: - docker-compose up -d 
Пример файла .env:
BACKEND_IMAGE=docker.universe-data.ru/universe-dg/backend:release-2-7-9cadf848
FRONTEND_IMAGE=docker.universe-data.ru/universe-dg/frontend:release-2-7-76c1e912
OPENSEARCH_HTTP_OUTER_PORT=19200
DG_POSTGRES_USER=postgres
DG_POSTGRES_PASSWORD=postgres
DG_POSTGRES_DB_NAME=postgres
POSTGRES_OUTER_PORT=15432
ORIENTDB_HTTP_OUTER_PORT=12480
ORIENTDB_OUTER_PORT=12424
ORIENTDB_DB_NAME=dg
FRONTEND_PORT=8080
BACKEND_PORT=9080
BACKEND_ADDRESS=http://dg:8080
#TIMEZONE=Europe/Moscow
EMAIL_FRONTEND_URL=''
EMAIL_ENABLED=false
EMAIL_SERVER_HOST=localhost
EMAIL_SERVER_PORT=5025
EMAIL_SSL_ENABLE=true
EMAIL_STARTTLS_ENABLE=false
EMAIL_USERNAME=universe@example.com
EMAIL_PASSWORD=password
MODULES_BLACKLIST=org.unidata.dg.crawler,com.universe.dg.dis.crawlers
GUEST_MODE=false
DG_DQ_ENSURE_MODEL=false
DG_DIS_UPDATE_PROFILES_PROJECTS_JOB_DISABLED=true
DG_DIS_UPDATE_PROFILES_PROJECTS_CRONEX=0 0 0/1 * * ?
DG_DIS_UPDATE_PROFILES_URL=http://localhost/list/profiles
DG_DIS_UPDATE_PROJECTS_URL=http://localhost/list/projects
Переход с ElasticSearch на OpenSearch¶
Примечание
Шаги по переходу на OpenSearch требуются, если система Юниверс DG обновляется с версии 2.4 и старше на версию 2.5 и новее. Если переход уже был выполнен - шаги пропускаются
Переход на OpenSearch с потерей данных¶
- Поскольку данные не будут перенесены, выполните операцию переиндексации данных, а при наличии правил качества - операцию переприменения данных. 
Важные примечания:
- Если в качестве хранилища для аудита выбран поисковой движок, журнал событий будет утерян — его невозможно восстановить из БД, даже если она также указана в качестве хранилища. 
Переход на OpenSearch с переносом данных¶
- В docker-compose конфигурации контейнера Opensearch укажите существующий volume с данными Elasticsearch — dg-elasticsearch-data:/usr/share/opensearch/data. 
- В случае если необходимо избавиться от упоминания Elastic, то можно оставить volume по умолчанию (dg-opensearch-data), выполнив одно из двух действий: - Клонировать volume. Пример: - docker run --rm \ -v dg-elasticsearch-data:/original \ -v dg-opensearch-data:/migration \ ubuntu:latest \ bash -c "cp -R /original/* /migration/" 
- Переименовать volume: - mv /var/lib/docker/volumes/dg-elasticsearch-data /var/lib/docker/volumes/dg-opensearch-data