OpsVault

Quick Start

Create your first automated backup in under 5 minutes.

This guide walks you through setting up OpsVault from a fresh binary to a running scheduled backup.

Don't have OpsVault installed yet? Run the one-line installer first:

curl -fsSL https://get.opsvault.dev | sudo bash

The installer handles the binary, optional dependencies, and the service. Come back here to configure your first backup.

Configure your databases

Open the interactive wizard:

opsvault config

If no config file exists yet, a default one is created automatically. The wizard opens a menu — go to Databases → + Add new database, fill in your host, user, database name, and password env var, then Save & Exit.

Use ↑ ↓ to navigate between sections, Enter to select. Each section shows current values inline — select only the field you want to change.

Prefer editing by hand? The wizard shows the config file path at the top of the menu. Open it directly in any text editor. At minimum, add a database block:

databases:
  - name: myapp
    type: postgres        # or: mysql
    host: 127.0.0.1
    port: 5432
    user: backup_user
    password_env: DB_PASS
    database: myapp_prod
    enabled: true

Set the password via environment variable so it is never stored in plain text:

echo 'export DB_PASS=yourpassword' >> /etc/environment
source /etc/environment

Run a manual backup

opsvault backup run

A successful run looks like:

  ✓  myapp  (1.2s)
       /var/backups/opsvault/myapp_20240115_020000.sql.gz

List your backups:

opsvault backup list

Install as a systemd service

opsvault service install
systemctl start opsvault
systemctl status opsvault

OpsVault will now run automatically on every server boot and back up your databases on the configured schedule (default: every night at 02:00).

Next steps

On this page