Если на этом сервере раньше работала EVI в deb-пакетах, её данные (базы PostgreSQL и ClickHouse) можно перенести в новое Docker-развёртывание. Как правило, перенос выполняет сам мастер установки — отдельно ничего запускать не нужно.
Автоматическая миграция
Во время установки мастер спрашивает, нужно ли перенести данные с предыдущей deb-установки EVI:
Если ответить «да», мастер:
- остановит deb-сервисы EVI на сервере;
- снимет дампы баз данных PostgreSQL и ClickHouse;
- зальёт данные в Docker-объёмы платформы;
- запустит сервисы платформы.
Миграция выполняется автоматически — никаких действий с вашей стороны не требуется.
Резервная копия
Дампы данных сохраняются в папку ./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.
Предусловия
- Скрипт запускается из корня стека (рядом должен находиться каталог стека —
./coreили сам корень). - На хосте должны быть доступны:
pg_dump,psql,clickhouse-client,docker compose. - Пользователь должен иметь право запускать
sudo(для остановки systemd-сервисов и дляsudo -u postgresпри peer-auth).

