Operations

Storage and backups#

VTune keeps its SQLite database, converted Ogg Opus media, staged uploads, migration backups, and related state beneath DATA_DIR. Protect the complete persistent volume.

What persists#

  • Account, library, group, sharing, settings, invitation, and audit metadata.
  • Converted library audio under generated owner and track keys.
  • Durable upload jobs and resumable staged bytes.
  • Automatic pre-migration SQLite backups.

Voice sessions and playback queues intentionally remain in memory and reset on restart.

Backup safely#

Prefer a filesystem or volume snapshot while the service is stopped. If your platform supports application-consistent snapshots, validate the SQLite procedure and include every file in the volume. Automatic migration backups do not replace an off-host operator backup.

docker compose -f compose.release.yaml stop vtune
# Snapshot or copy the complete data volume here.
docker compose -f compose.release.yaml start vtune

Restore test#

At least once per release, restore a backup into a disposable instance with a separate hostname and Discord application. Confirm the database opens, library metadata matches stored media, and a test track plays before calling the backup usable.