Продукты Р7
Корпоративный сервер 2024
Корпоративный сервер 2024
Сервер документов
Сервер документов
Редакторы
Редакторы
Корпоративный сервер 2019
Корпоративный сервер 2019
Графика
Графика
Команда
Команда
Мобильные редакторы
Мобильные редакторы
Облачный офис
Облачный офис
Почта
Почта
Органайзер
Органайзер
Дополнительно
Часто задаваемые вопросы
Разработчикам
Интеграции
Новые возможности

Миграция Корпоративный сервер 2019 в docker Корпоративный сервер 2024

Обновлено: 24.12.25

Подготовка

Выполняем пункты ↗ 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

И убеждаемся, что контейнеры пересоздались и запущены:

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

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

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

Где:

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

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