Как зарезервировать 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, шаг за шагом
Создайте аккаунт Dockstash и откройте панель
Зарегистрируйтесь бесплатно на app.dockstash.com/register. Одноразовый мастер настройки спросит ваш VPS для хранения (машину, где будут лежать зашифрованные резервные копии) и сгенерирует пароль шифрования — сразу сохраните его в менеджере паролей: он показывается ровно один раз.
Добавьте Docker-проект, в котором работает Neo4j
На экране Projects Dockstash автоматически находит каждую папку Compose-проекта на сервере (по умолчанию под /var/www). Выберите проект с вашим сервисом Neo4j. Пока ничего не резервируется — вы лишь указываете Dockstash, где живёт проект.
Проверьте, что Neo4j распознан
Откройте проект и вкладку Plan. Dockstash читает docker-compose.yml, распознаёт образ neo4j и фиксирует контейнер и найденные переменные (NEO4J_AUTH, NEO4J_PLUGINS). Файлы, базы и конфиги прокси можно переключать перед сохранением.
Поймите, как работает дамп Neo4j
Neo4j — единственный движок, где важна редакция. Enterprise поддерживает горячие онлайн-копии через neo4j-admin database backup, пока база обслуживает запросы. Community требует остановленную базу для neo4j-admin database dump — безопасный паттерн: короткая плановая остановка в самый тихий час или дамп вторичного инстанса. Dockstash захватывает итоговый артефакт дампа, никогда не живой каталог /data.
Подтвердите место хранения
Резервные копии хранятся как зашифрованные снимки restic на вашем собственном VPS для хранения, по SSH. Если вы прошли мастер настройки, всё уже настроено; хост, пользователя, порт или SSH-ключ можно изменить в любой момент в Settings → Storage.
Настройте расписание резервного копирования
Во вкладке Schedule выберите ежедневно, еженедельно или собственный cron (валидируется при вводе). Для Community-Neo4j планируйте копию на самый тихий час, чтобы короткое окно дампа было безболезненным. Добавьте еженедельный prune с политикой хранения.
Запустите первую копию сейчас
Нажмите Backup Now. Dockstash захватит дамп графа и файлы проекта и отправит всё в restic — живой вывод смотрите построчно в панели логов.
Убедитесь, что снимок существует
По завершении запуска карточка проекта показывает новое время последней копии, число снимков и размер репозитория. Откройте экран Snapshots: точка восстановления появится на таймлайне — это ваше доказательство, что копия дошла до внешнего хранилища.
Команда дампа
neo4j-admin database dump neo4j --to-path=/backupКоманда восстановления
neo4j-admin database load neo4j --from-path=/backup --overwrite-destination=trueneo4j-admin dump (или онлайн-копия редакции Enterprise) даёт согласованный снимок хранилища, поскольку хранилище графа и журналы транзакций пишутся непрерывно.
Восстановите копию Neo4j и докажите, что она работает
Резервная копия Neo4j становится настоящей только после загрузки обратно в запрашиваемый граф. Восстановления Dockstash по умолчанию не перезаписывают живую базу — сначала в новое место, загрузка в тестовый инстанс, затем осознанное продвижение.
Выберите точку восстановления
Откройте Snapshots, выберите проект и просмотрите таймлайн. Каждая строка содержит согласованный артефакт дампа neo4j-admin плюс файлы проекта того же запуска.
Восстановите в новое место
Нажмите Restore и оставьте режим по умолчанию «Restore to new location». Введите имя проекта для подтверждения — осознанное действие с набором текста. Дамп и файлы попадут в выбранный целевой путь, не трогая живой проект.
Загрузите и проверьте восстановленный граф
Запустите тестовый контейнер Neo4j (тот же образ и плагины, что в продакшене), загрузите дамп через neo4j-admin database load в остановленную цель, стартуйте и проверьте несколькими запросами Cypher — счётчики узлов и связей по ключевым меткам — самый быстрый тест.
Продвигайте, когда всё проверено
Когда восстановленные данные проверены, переключите на них приложение (или повторите восстановление в режиме «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 восстанавливает последний снимок в изолированную рабочую область, сверяет каждый файл по байтам с источником и проверяет восстановленный дамп — затем ставит на проект значок «прошло/провалено». Еженедельная тренировка означает всегда свежее доказательство.