Как зарезервировать Docker-контейнер Neo4j (2026)

Neo4j требует согласованного дампа до того, как в дело вступит restic. Dockstash выполняет `neo4j-admin database dump neo4j --to-path=/backup` внутри контейнера, забирает вывод и хранит его зашифрованным вовне — он никогда не копирует /data вживую, потому что neo4j-admin dump (или онлайн-копия редакции Enterprise) даёт согласованный снимок хранилища, поскольку хранилище графа и журналы транзакций пишутся непрерывно.

Обнаружение

Что находит Dockstash

Найденные переменные окруженияNEO4J_AUTH, NEO4J_dbms_default__database, NEO4J_PLUGINS
Порт по умолчанию7687
Живые пути данных (никогда не копируются вживую)/data, /data/databases, /data/transactions
Примеры образовneo4j:5, neo4j:5-community, neo4j:5-enterprise, neo4j
Шаг за шагом

Резервируем Neo4j с Dockstash, шаг за шагом

  1. Создайте аккаунт Dockstash и откройте панель

    Зарегистрируйтесь бесплатно на app.dockstash.com/register. Одноразовый мастер настройки спросит ваш VPS для хранения (машину, где будут лежать зашифрованные резервные копии) и сгенерирует пароль шифрования — сразу сохраните его в менеджере паролей: он показывается ровно один раз.

  2. Добавьте Docker-проект, в котором работает Neo4j

    На экране Projects Dockstash автоматически находит каждую папку Compose-проекта на сервере (по умолчанию под /var/www). Выберите проект с вашим сервисом Neo4j. Пока ничего не резервируется — вы лишь указываете Dockstash, где живёт проект.

  3. Проверьте, что Neo4j распознан

    Откройте проект и вкладку Plan. Dockstash читает docker-compose.yml, распознаёт образ neo4j и фиксирует контейнер и найденные переменные (NEO4J_AUTH, NEO4J_PLUGINS). Файлы, базы и конфиги прокси можно переключать перед сохранением.

  4. Поймите, как работает дамп Neo4j

    Neo4j — единственный движок, где важна редакция. Enterprise поддерживает горячие онлайн-копии через neo4j-admin database backup, пока база обслуживает запросы. Community требует остановленную базу для neo4j-admin database dump — безопасный паттерн: короткая плановая остановка в самый тихий час или дамп вторичного инстанса. Dockstash захватывает итоговый артефакт дампа, никогда не живой каталог /data.

  5. Подтвердите место хранения

    Резервные копии хранятся как зашифрованные снимки restic на вашем собственном VPS для хранения, по SSH. Если вы прошли мастер настройки, всё уже настроено; хост, пользователя, порт или SSH-ключ можно изменить в любой момент в Settings → Storage.

  6. Настройте расписание резервного копирования

    Во вкладке Schedule выберите ежедневно, еженедельно или собственный cron (валидируется при вводе). Для Community-Neo4j планируйте копию на самый тихий час, чтобы короткое окно дампа было безболезненным. Добавьте еженедельный prune с политикой хранения.

  7. Запустите первую копию сейчас

    Нажмите Backup Now. Dockstash захватит дамп графа и файлы проекта и отправит всё в restic — живой вывод смотрите построчно в панели логов.

  8. Убедитесь, что снимок существует

    По завершении запуска карточка проекта показывает новое время последней копии, число снимков и размер репозитория. Откройте экран Snapshots: точка восстановления появится на таймлайне — это ваше доказательство, что копия дошла до внешнего хранилища.

Команды

Команда дампа

neo4j-admin database dump neo4j --to-path=/backup

Команда восстановления

neo4j-admin database load neo4j --from-path=/backup --overwrite-destination=true

neo4j-admin dump (или онлайн-копия редакции Enterprise) даёт согласованный снимок хранилища, поскольку хранилище графа и журналы транзакций пишутся непрерывно.

Восстановить и проверить

Восстановите копию Neo4j и докажите, что она работает

Резервная копия Neo4j становится настоящей только после загрузки обратно в запрашиваемый граф. Восстановления Dockstash по умолчанию не перезаписывают живую базу — сначала в новое место, загрузка в тестовый инстанс, затем осознанное продвижение.

  1. Выберите точку восстановления

    Откройте Snapshots, выберите проект и просмотрите таймлайн. Каждая строка содержит согласованный артефакт дампа neo4j-admin плюс файлы проекта того же запуска.

  2. Восстановите в новое место

    Нажмите Restore и оставьте режим по умолчанию «Restore to new location». Введите имя проекта для подтверждения — осознанное действие с набором текста. Дамп и файлы попадут в выбранный целевой путь, не трогая живой проект.

  3. Загрузите и проверьте восстановленный граф

    Запустите тестовый контейнер Neo4j (тот же образ и плагины, что в продакшене), загрузите дамп через neo4j-admin database load в остановленную цель, стартуйте и проверьте несколькими запросами Cypher — счётчики узлов и связей по ключевым меткам — самый быстрый тест.

  4. Продвигайте, когда всё проверено

    Когда восстановленные данные проверены, переключите на них приложение (или повторите восстановление в режиме «Overwrite existing» — явный опт-ин). Ещё лучше: пусть еженедельная тренировка восстановления делает это доказательство автоматически, чтобы восстановление никогда не было вашей первой репетицией.

Подводные камни

Каких ловушек избегать

  • На редакции Community `neo4j-admin database dump` требует остановленную базу — горячий дамп не поддерживается, а копирование /data вживую несогласовано.
  • Редакция Enterprise поддерживает горячие онлайн-копии через `neo4j-admin database backup`; Community планирует короткую остановку или дампит вторичный инстанс.
  • Порт Bolt (7687) — для клиентов; копии идут через neo4j-admin внутри контейнера, не через Bolt.
Устранение неполадок

Типичные проблемы резервирования Neo4j

Симптом
Шаг дампа падает с «database is in use» на Community.
Причина
neo4j-admin database dump требует остановленную базу на Community; горячий дамп не поддерживается.
Решение
Планируйте копию на тихий час с короткой остановкой, дампите вторичный инстанс — или переходите на Enterprise с горячими онлайн-копиями через neo4j-admin database backup.
Симптом
Восстановленная база стартует, но запросы с APOC или GDS падают.
Причина
Плагины — часть образа и конфига, не дампа: целевой образ их не содержит.
Решение
Восстанавливайте в образ с теми же NEO4J_PLUGINS (APOC, GDS) до загрузки дампа, затем повторите упавшие процедуры.
Симптом
neo4j-admin database load отказывается перезаписывать цель.
Причина
Команда load не заменяет существующую базу без явного указания, и цель должна быть остановлена.
Решение
Остановите целевую базу и передайте --overwrite-destination=true (ровно так делает документированная команда восстановления), затем запустите Neo4j.
Симптом
Копии куда больше, чем предполагает размер графа.
Причина
Дамп включает полное хранилище; шум журналов транзакций между дампами также снижает дедупликацию restic.
Решение
Держите дампы на ежедневном расписании и позвольте prune + retention обрезать историю; следите за трендом размера на карточке проекта.

Сделайте это в один клик с Dockstash

Dockstash выполняет ровно тот дамп, что выше, передаёт его restic вовне и автоматически проверяет восстановление тренировкой — без скриптов на поддержке.

Последнее обновление: July 2026

Часто задаваемые вопросы

Можно ли резервировать Neo4j, не останавливая его?

На Enterprise — да: `neo4j-admin database backup` даёт горячую онлайн-копию. На Community команда `database dump` требует остановленную базу: Dockstash планирует короткую остановку или дампит реплику.

Почему не копировать каталог /data/databases?

Хранилище графа и журналы транзакций пишутся непрерывно. Живая копия несогласована и может не загрузиться. neo4j-admin dump/backup дают согласованный, восстановимый артефакт.

Как восстановить дамп Neo4j?

Используйте `neo4j-admin database load ... --overwrite-destination=true` на остановленной цели, затем запустите Neo4j. Dockstash сначала грузит в staging-базу до любой перезаписи.

Включает ли копия установленные плагины?

Нет — плагины (APOC, GDS) относятся к образу/конфигу, а не к дампу базы. Убедитесь, что в целевом образе те же плагины, прежде чем грузить.

Как часто резервировать Neo4j?

Ежедневно — практичный вариант: выберите самый тихий час, если вы на Community и нужно короткое окно остановки. Free — только вручную; Pro — до ежечасных, Business — любой cron.

Где на самом деле живут резервные копии?

На вашем собственном VPS для хранения, как зашифрованные снимки restic, отправляемые по SSH. Dockstash никогда не держит ваши данные в чужом облаке — вы указываете машину под вашим контролем, а репозиторий зашифрован паролем, который есть только у вас.

Как узнать, что копия восстановима, без ручного восстановления?

Запланируйте тренировку восстановления. Dockstash восстанавливает последний снимок в изолированную рабочую область, сверяет каждый файл по байтам с источником и проверяет восстановленный дамп — затем ставит на проект значок «прошло/провалено». Еженедельная тренировка означает всегда свежее доказательство.