Если на этом сервере раньше работала EVI в deb-пакетах, её данные (базы PostgreSQL и ClickHouse) можно перенести в новое Docker-развёртывание. Как правило, перенос выполняет сам мастер установки — отдельно ничего запускать не нужно.

Автоматическая миграция

Во время установки мастер спрашивает, нужно ли перенести данные с предыдущей deb-установки EVI:

Если ответить «да», мастер:

  1. остановит deb-сервисы EVI на сервере;
  2. снимет дампы баз данных PostgreSQL и ClickHouse;
  3. зальёт данные в Docker-объёмы платформы;
  4. запустит сервисы платформы.

Миграция выполняется автоматически — никаких действий с вашей стороны не требуется.

Дампы данных сохраняются в папку ./db_transfer_backup — это резервная копия.

На время миграции платформа недоступна: старые (deb-)сервисы остановлены, а Docker-стек запускается после загрузки данных.

Если при установке на вопрос мастера был дан ответ «нет», миграцию можно запустить отдельно:

docker compose run --rm migrate

Ручная миграция

Если платформа уже установлена, но данные ещё не перенесены, используйте скрипт transfer_data_to_docker.sh, идущий вместе со стеком платформы.

Шаг 1. Запустите скрипт

Откройте терминал в корне стека (в папке, где находится каталог ./core либо docker-compose.yml standalone-стека) и выполните:

./transfer_data_to_docker.sh               # обычный стек (./core)
./transfer_data_to_docker.sh --stack-dir . # standalone-стек в корне

Скрипт покажет, какие данные будут перенесены и какие сервисы остановятся. Подтвердите запуск:

Шаг 2. Проверьте результат

После миграции платформа запускается из Docker. Проверьте, что все сервисы работают:

docker compose ps      # все сервисы в состоянии healthy

Откройте web-интерфейс платформы по адресу сервера: если старые данные (камеры, пользователи, события) на месте — миграция прошла успешно.

Откат

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

sudo systemctl start postgresql
sudo systemctl start clickhouse-server

Дампы данных остаются в папке ./db_transfer_backup/<timestamp>/ — их можно использовать для восстановления баз.

Технические детали

Суть переноса: миграция выполняет логический (dump/restore) перенос данных PostgreSQL и ClickHouse с deb-установки в Docker-объёмы стека EVI — Core-группы (./core, по умолчанию) либо standalone-стека (--stack-dir .).

Логический перенос выбран намеренно: мажорные версии источника и цели различаются (PostgreSQL 17 → 18), пофайловое копирование каталога данных между ними невозможно.

Остановка сервисов: deb-сервисы EVI (angie, evi-core, evi-scud, evi-analytics, evi-live, evi-archive, evi-analyzer) скрипт останавливает сам — иначе запись в БД во время дампа означала бы потерю свежих событий. Если они уже остановлены, шаг отключается флагом --no-stop-evi.

Предусловия