Skip to content

Backups

HELIX includes automated and manual backup capabilities to protect your data. Backups cover the database, agent workspaces, uploads, and configuration.

What Gets Backed Up

ComponentContents
DatabaseAll tasks, comments, agents, users, skills, activity logs, settings
Agent WorkspacesSOUL.md, MEMORY.md, session notes for each agent
UploadsTask attachments, skill attachments, user avatars
Configuration.env file, Docker Compose config

Automated Daily Backups

The installer sets up a daily backup cron job that runs automatically:

bash
# Runs daily at 2:00 AM server time
0 2 * * * /home/helix/helix-mission-control/scripts/backup.sh

Backups are stored in /home/helix/helix-mission-control/backups/ with timestamps:

backups/
├── helix-backup-2026-03-17-020000.sql.gz
├── helix-backup-2026-03-16-020000.sql.gz
└── helix-backup-2026-03-15-020000.sql.gz

Setting Up Backup Scheduling

If the cron job wasn't created during installation:

bash
cd /home/helix/helix-mission-control
bash scripts/setup-backup-cron.sh

Manual Backup

Via CLI

bash
# Create a backup now
helix backup

# Or run the script directly
cd /home/helix/helix-mission-control
bash scripts/backup.sh

Via Docker

bash
# Database dump
docker compose exec db pg_dump -U helix helix_mc | gzip > backup.sql.gz

Restore

Via CLI

bash
# List available backups
ls backups/

# Restore from a specific backup
helix restore backups/helix-backup-2026-03-17-020000.sql.gz

Via Script

bash
cd /home/helix/helix-mission-control
bash scripts/restore.sh backups/helix-backup-2026-03-17-020000.sql.gz

The restore process:

  1. Stops all services except the database
  2. Drops and recreates the database
  3. Restores from the backup file
  4. Runs any pending migrations
  5. Restarts all services

WARNING

Restoring a backup replaces all current data. Make a fresh backup before restoring an older one.

Backup Best Practices

  • Test restores periodically — a backup is only useful if you can restore it
  • Copy backups off-server — use scp or rsync to copy backups to another location
  • Monitor disk space — old backups accumulate; clean up periodically
  • Back up before updates — always run helix backup before running scripts/update.sh

Off-Server Backups

Copy backups to another server or storage:

bash
# Copy latest backup to another server
scp backups/helix-backup-*.sql.gz user@backup-server:/backups/helix/

# Sync all backups
rsync -avz backups/ user@backup-server:/backups/helix/

Consider setting up a cron job for automated off-server copies.

Built by HelixNode