Перейти к основному содержимому
Версия: 7.0

Docker

осторожно

Данная инструкция предназначена для одиночной установки Пассворка и не подходит для отказоустойчивого решения

Обновление PHP и Пассворка

Перейти в корневое расположение Docker сборки Пассворка:

cd /<passwork>/

Получить скрипт миграции Docker окружения и Пассворка:

wget https://repos.passwork.ru/repository/docker/migration_7.sh

Назначить скрипту права запуска и запустить:

chmod +x migration_7.sh
осторожно

Перед запуском скрипта, пожалуйста, убедитесь в следующем.

Пассворк имеет доступ в интернет и использует базу данных в контейнере

Если сервер с Пассворком имеет доступ в интернет и использует базу данных в контейнере (psmdb5), запустите миграцию с следующим аргументом:

sudo ./migration_7.sh -now
Пассворк расположен в закрытом контуре

Получить следующие .zip архивы и .tar образы контейнеров:

  1. Код Пассворка формата Passwork-xxxxxx.zip из клиентского портала;
  2. Архив Docker Compose сборки;
  3. Скрипт установки Пассворка;
  4. Образ контейнера Nginx;
  5. Образ контейнера PHP;
  6. Образ контейнера Percona Server for MongoDB;
  7. Образ контейнера Postfix;
  8. Образ контейнера Alpine.

На сервере с Пассворком в корневом расположении Docker сборки (./) создать директорию:

mkdir ./passwork_images

Переместить полученные архивы и образы на сервер с Docker сборкой и расположить в следующем формате:

./Passwork-xxxxxx.zip
./passwork_compose_install.sh
./passwork_compose_last.tar.gz
./passwork_images/alpine.tar
./passwork_images/nginx.tar
./passwork_images/php8.3.tar
./passwork_images/postfix.tar
./passwork_images/psmdb7.tar

Пример расположения полученных архивов и образов в Docker сборке:

Пример расположения файлов/архивов

Запустить миграцию Пассворка с следующими аргументами:

sudo ./migration_7.sh -now -o
Пассворк имеет доступ в интернет и использует внешнюю базу данных

Запустить миграцию Пассворка с следующими аргументами:

sudo ./migration_7.sh -now -nodb
Пассворк расположен в закрытом контуре и использует внешнюю базу данных
  1. Выполнить действия по получению архивов .zip и .tar образов из Сервер Пассворк расположен в закрытом контуре, без получения psmdb7.tar;
  2. Переместить полученные архивы и образы на сервер с Docker сборкой и расположить в представленном формате выше;
  3. Запустить миграцию Пассворка с следующими аргументами:
sudo ./migration_7.sh -now -o -nodb
Выполняемые действия
  1. Чтение конфигурационного файла config.ini и преобразование параметров в новый формат
  2. Изменение значения pw в базе данных MongoDB
  3. Извлечение ключа шифрования и сохранение его в отдельный файл
  4. Создание резервной копии базы данных с помощью db-backup.sh
  5. Архивирование файлов окружения в tar.gz
  6. Остановка контейнеров compose сборки
  7. Получение и запуск скрипта обновления Docker-сборки и Пассворка
  8. Получение и запуск обновлённой compose сборки
  9. Восстановление базы данных Пассворка в новой Docker-сборке
  10. Выполнение миграции объектов базы данных Пассворка

Процесс выполнения скрипта

Скрипт проверяет выполнение первичной миграции в веб-интерфейсе Пассворка (6.5), преобразует файлы конфигурации и запускает миграцию. В случае возникновения ошибок они будут выведены в консоль:

Пример получения ошибки при выполнении миграции

Так выглядит успешное завершение скрипта:

Пример корректной миграции на Пассворк 7
к сведению

Если миграция Пассворка выполняется на Astra Linux, пожалуйста, обратитесь к технической поддержке Пассворка для получения дополнительной инструкции.