Docs

Upgrading & backups

Upgrade Veqsio by re-running the installer, and keep it safe with daily backups and a restore check.

Upgrading

Run the installer again. It is idempotent: it dumps the database to /opt/veqsio/backups first, fetches the new sources, rebuilds the images, applies new database migrations and restarts the stack. Existing secrets in .env are never overwritten, so users stay signed in where possible and stored secrets (SSO, SMTP, webhooks) keep working.

sudo /opt/veqsio/install.sh --update-source

To move to a specific release, add --ref v1.2.0. If you changed the port or domain at install time, pass the same options again.

The version and build number are shown in the page footer (“Powered by Veqsio”) and under Administration → System, so you can confirm what is running.

What to back up

WhatHow
PostgreSQL (issues, users, settings, audit log)scripts/backup.sh daily; WAL archiving if you cannot lose a day of tickets.
AttachmentsVersioning and replication on your object-storage bucket, or BACKUP_UPLOADS_DIR for local storage.
SECRETS_ENCRYPTION_KEY in .envKeep it in a password manager, apart from the dump. Without it, stored SSO, SMTP and webhook secrets cannot be read after a restore.
Licence keyKeep the key from your purchase e-mail with your other credentials.
RedisNot needed: it only holds sessions and caches.

Daily backup and restore check

# 03:00 backup, 03:30 restore check (cron on the host)
0 3  * * * cd /opt/veqsio && docker compose -f docker-compose.prod.yml --profile backup run --rm backup
30 3 * * * cd /opt/veqsio && docker compose -f docker-compose.prod.yml --profile backup run --rm backup-verify

backup.sh writes a compressed dump, checks that it can be read back, adds a checksum, applies retention and records the result. restore-verify.sh restores the newest dump into a scratch database, checks it and drops it, so you know the backup works. Administration → Configuration health shows a Last verified backup card.

What to promise

SetupData you can lose
Daily backupup to 24 hours
Hourly backupup to 1 hour
Backup plus WAL archivingseconds to minutes

Practise a restore once; the time is dominated by the size of your database and your disk speed.