Skip to content

Backup and restore

Containerised deployment

All Canvus data lives in /canvus-data/ on the host. Backing up this directory is all that is needed for a complete backup.

# Stop the Canvus container (keeps postgres running briefly, then stop all)
sudo podman-compose stop

# Create backup archive
sudo tar -czf canvus-backup-$(date +%Y%m%d-%H%M).tar.gz /canvus-data/

# Restart
sudo podman-compose up -d

Store the resulting .tar.gz file in a safe location off the server.

Tip

Canvus data can also be backed up while the server is running. If consistency is critical (e.g. large active deployments), stop containers first.

What the backup contains

Path Contents
/canvus-data/config/ Server configuration
/canvus-data/certs/ TLS certificates
/canvus-data/licenses/ License files
/canvus-data/assets/ Canvas content (images, videos, etc.)
/canvus-data/postgres/ PostgreSQL database files

Note

Back up your podman-compose.yml separately — it is not stored in /canvus-data/.

Restore from filesystem backup

# Stop all containers
sudo podman-compose down

# Extract backup (overwrites existing /canvus-data/)
sudo tar -xzf canvus-backup-20240101-1200.tar.gz -C /

# Start
sudo podman-compose up -d

You can restore to the same or a newer version of Canvus server.

Database-only backup

For database-only snapshots without stopping the server:

sudo podman exec canvus-postgres pg_dump -U canvus canvus > canvus-db-$(date +%Y%m%d).sql

Restore:

# Stop Canvus (keep postgres running)
sudo podman stop canvus-combined

# Restore database
sudo podman exec -i canvus-postgres psql -U canvus canvus < canvus-db-20240101.sql

# Start Canvus
sudo podman start canvus-combined
Legacy bare-metal installation

Bare-metal installations use the mt-canvus-server binary for backup and restore.

Backup

# Ubuntu
sudo -H -u mt-canvus-server /opt/mt-canvus-server/bin/mt-canvus-server --backup

# Windows (as Administrator)
"C:\Program Files\MT Canvus Server\bin\mt-canvus-server" --backup

The backup is written to the path configured in mt-canvus-server.ini:

[backup]
; Default: /var/lib/mt-canvus-server/backups (Ubuntu)
;          <ProgramData>\MultiTaction\canvus\backups (Windows)
; root=/var/lib/mt-canvus-server/backups

Use --backup-path <folder> to write to a specific folder instead.

The backup creates: - db_dump.sql — PostgreSQL database dump - assets/ — all canvas asset files - mt-canvus-backup-metadata.json — version and timestamp metadata

Restore

Warning

The server must not be running while restoring a backup.

# Ubuntu
sudo -H -u mt-canvus-server /opt/mt-canvus-server/bin/mt-canvus-server \
  --restore --backup-path /var/lib/mt-canvus-server/backups/<backup-name>

# Windows (as Administrator)
"C:\Program Files\MT Canvus Server\bin\mt-canvus-server" --restore ^
  --backup-path "C:\ProgramData\MultiTaction\canvus\backups\<backup-name>"

Configuration files

The --backup command does not back up configuration files, TLS keys, certificates, or system files. Back these up separately.