Skip to content

Backups & Export

ConvoLog provides two ways to preserve your data: scheduled automatic backups (for disaster recovery) and on-demand export (for portability and HR handover).

Scheduled backups

ConvoLog can automatically back up the SQLite database on a cron schedule.

Configuration

Set the BACKUP_CRON environment variable to a valid cron expression:

BACKUP_CRON=0 2 * * * # daily at 02:00 UTC (default)

Backups are written to BACKUP_DIR (default: /app/backups). Mount this as a Docker volume to persist backups outside the container.

What is backed up

Each backup is a complete snapshot of the SQLite database file. It includes:

  • All people profiles
  • All log entries and their attachments
  • The audit log
  • User accounts (but not session tokens)

File uploads in /app/data/uploads are not included in the database backup. Back them up separately if you use file attachments.

Restoring from a backup

Terminal window
# Stop the container
docker compose stop convolog
# Replace the database file with the backup
cp /path/to/backup/convolog-2025-01-01.db ./data/convolog.db
# Restart
docker compose start convolog

Manual backup

You can trigger a backup at any time without waiting for the schedule:

Terminal window
docker exec convolog npm run backup

On-demand export

From the ConvoLog web UI, any ADMIN or SUPER_ADMIN can export data via Settings → Export.

Available formats

FormatContents
JSONFull structured export of all data. Machine-readable.
CSVFlat tabular export of log entries. Suitable for spreadsheets.
MarkdownOne Markdown document per person, formatted for reading.
ZIPA ZIP archive containing all of the above plus uploaded files.

Per-person export

Individual people profiles can be exported from the person’s profile page. Useful for HR handover or when a person leaves the team.

Audit log export

The audit log can be exported separately as JSON or CSV from Settings → Audit Log.

Offsite backup

ConvoLog does not handle offsite backup directly — that is left to your infrastructure. Options:

  • Rclone — sync the backup directory to S3, Backblaze B2, or similar.
  • Restic — encrypted incremental backups to any supported backend.
  • Your hosting provider’s snapshot feature — most VPS providers offer automated snapshots.