Бэкап и восстановление

Что бэкапить на d0pe-сервере и как это восстановить.

Установка d0pe — это несколько Docker-томов и один .env. Забэкапь три вещи — и соберёшь всё где угодно: Postgres (транзакционная правда — лиды, потоки, партнёры, леджер, юзеры), ClickHouse (аналитика) и .env (секреты и привязка лицензии). Redis — кеш горячего пути, бэкапить не нужно.

Одной командой

Из директории установки запусти скрипт бэкапа. Он read-only и безопасен на живом инстансе; пишет один архив с таймстампом.

./backup.sh    # → ./backups/d0pe-YYYYmmdd-HHMMSS.tgz.gpg

Архив шифруется паролем, который ты задаёшь (gpg), потому что внутри env.bak — пароли БД, ключ лицензии и креды провайдеров. Храни вне сервера и береги пароль — без него бэкап не восстановить. (Нет gpg на боксе? Скрипт предупредит и оставит без шифрования — поставь gnupg, чтобы шифровать.)

Руками

Если хочешь явные команды, главное — дамп Postgres и .env:

docker compose exec -T postgres pg_dump -U crm crm | gzip > postgres.sql.gz
cp .env env.bak
# аналитика (по желанию — ClickHouse можно пересобрать):
docker run --rm --volumes-from $(docker compose ps -q clickhouse) \
  -v $PWD:/backup alpine tar czf /backup/clickhouse.tgz -C /var/lib/clickhouse .

Восстановление

На свежей установке подними хранилища, залей дамп, потом стартуй приложение. Скрипт restore делает это по порядку:

./restore.sh backups/d0pe-YYYYmmdd-HHMMSS.tgz

Переезжаешь на новую машину? Restore — только половина: ещё нужно ре-биндить лицензию. См. «Перенос на другой сервер».