Appearance
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
| Component | Contents |
|---|---|
| Database | All tasks, comments, agents, users, skills, activity logs, settings |
| Agent Workspaces | SOUL.md, MEMORY.md, session notes for each agent |
| Uploads | Task 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.shBackups 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.gzSetting Up Backup Scheduling
If the cron job wasn't created during installation:
bash
cd /home/helix/helix-mission-control
bash scripts/setup-backup-cron.shManual Backup
Via CLI
bash
# Create a backup now
helix backup
# Or run the script directly
cd /home/helix/helix-mission-control
bash scripts/backup.shVia Docker
bash
# Database dump
docker compose exec db pg_dump -U helix helix_mc | gzip > backup.sql.gzRestore
Via CLI
bash
# List available backups
ls backups/
# Restore from a specific backup
helix restore backups/helix-backup-2026-03-17-020000.sql.gzVia Script
bash
cd /home/helix/helix-mission-control
bash scripts/restore.sh backups/helix-backup-2026-03-17-020000.sql.gzThe restore process:
- Stops all services except the database
- Drops and recreates the database
- Restores from the backup file
- Runs any pending migrations
- 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
scporrsyncto copy backups to another location - Monitor disk space — old backups accumulate; clean up periodically
- Back up before updates — always run
helix backupbefore runningscripts/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.