Подготовка

Выполняем пункты 1.1.1, 1.2.1 на сервере Корпоративный сервер 2019.

Создаем пользователя на Корпоративном сервере 2024 docker

Если установка Корпоративный сервер 2024 выполнялась под специальной УЗ (шаг 3 установки docker-compose инструкции), то следующий пункт можно пропустить.

Создаем пользователя для миграции и добавляем его в группу докер:

useradd -u 1999 -G docker cddisk

Далее выполняем пункты 1.2.2.

Останавливаем докер контейнер Сервера документов

Для остановки выполняем скрипт на сервере Корпоративный сервер 2024 внутри контейнера командой:

docker exec ds-app bash /usr/bin/documentserver-prepare4shutdown.sh

Или останавливаем контейнер:

docker stop ds-app

Проверяем, что файлы не открываются на редактирование.

Подключаем хранилище

Для этого в файле /etc/exports Корпоративного сервера 2019 вставим строку:

/var/www/r7-office/Data/Products/Files ip_docker_cs24/32(rw,nohide,all_squash,anonuid=1999,anongid=987,no_subtree_check)

Где:

  • ip_docker_cs24 — IP-адрес сервера с докер версией Корпоративный сервер 2024;
  • anonuid=1999 — указываем 1999, если выполнялось создание нового пользователя cddisk;
  • anongid=987 — указываем id группы докер.

Выполняем пункт 2.2 на сервере Корпоративный сервер 2024.

Настроим контейнеры

Добавляем порты rabbitmq

Откроем файл docker-compose-client.yml, расположенный в каталоге cddisk.
Добавляем в конфигурацию rabbitmq порты:

rabbitmq:
  env_file:
    - .env.overrides
    - .env.defaults
  image: cddisk-rabbitmq:latest
  restart: unless-stopped
  container_name: rabbitmq
  hostname: rabbitmq
  environment:
    - RABBITMQ_DEFAULT_USER=${r7_rabbitmq_user}
    - RABBITMQ_DEFAULT_PASS=${r7_rabbitmq_pass}
  ports:
    - 5672:5672

Порт слева можно указать другой.

Добавляем файл и директорию внутрь контейнера

Файл извлекаем из контейнера командой, находясь в директории cddisk:

docker cp processing:/opt/r7-office/Processing/appsettings.json ./

или заменив ./ на путь к директории cddisk.
Откроем файл appsettings.json на редактирование и изменим строку CommunityRepository к виду:

"ConnectionStrings": {
  "R7StorageServerUserActions": "Database=postgres;Username=postgres;Password=pg_pass;Host=postgres;Port=5432;",
  "R7StorageServer": "Database=postgres;Username=postgres;Password=pg_pass;Host=postgres;Port=5432;",
  "CommunityRepository": "Server=192.168.12.14;UserID=cddisk;Password=Password123!;Database=r7-office"

Где:

  • 192.168.12.14 — IP-адрес сервера Корпоративный сервер 2019;
  • cddisk — пользователь и его пароль, созданный в пункте 1.1.1.

После в файле docker-compose-client.yml в блок processing добавляем volumes:

processing:
  env_file:
    - .env.overrides
    - .env.defaults
  image: cddisk-processing:latest
  container_name: processing
  hostname: processing
  restart: unless-stopped
  depends_on:
    postgres:
      condition: service_healthy
  volumes:
    - /mnt/cs:/mnt/cs:ro
    - ./appsettings.json:/opt/r7-office/Processing/appsettings.json

После сохранения изменений выполняем:

docker-compose -f docker-compose-client.yml up -d && docker restart ds-app

И убеждаемся, что контейнеры пересоздались и запущены:
Миграция Корпоративный сервер 2019 в docker Корпоративный сервер 2024

Запускаем миграцию

Для этого открываем в браузере адрес:

https://cddisk.test21.s7-office.site/api/v1/ExportFromCs/Start

Где:

  • cddisk.test21.s7-office.site — адрес диска Корпоративный сервер 2024.

Далее, ожидаем около 10—15 мин (точное время зависит от объема данных) до завершения миграции.

Была ли полезна статья?
Позвольте нам стать лучше
Дополнительные материалы