Install command builder

Enter your public dashboard URL and install directory. Copy the generated command and run it on your Linux control server as root.

Used for nginx server_name and links printed after install.
Dashboard document root. Default is /var/www/reaver.

                            
                        

Requires root (sudo). Re-running the command upgrades an existing install and preserves data/. Full options: … | sudo bash -s -- --help

Installation

Install the Reaver dashboard on a Linux control server. Agents are installed later on each host you want to protect from the dashboard UI (not from the public CDN).

Install command builder

Use the form at the top of this page to enter your public dashboard URL and install directory. It generates a ready-to-copy command with the right flags.

Quick install

Interactive (prompts for public URL and install directory when a terminal is available):

curl -fsSL https://cdn.reaverbackup.com/install/install.sh | sudo bash

With flags (recommended when piping — options go after bash -s --):

curl -fsSL https://cdn.reaverbackup.com/install/install.sh | sudo bash -s -- \
  --url=https://backup.example.com \
  --dir=/var/www/reaver

Download then run:

curl -fsSL https://cdn.reaverbackup.com/install/install.sh -o install.sh
sudo bash install.sh --url=https://backup.example.com --dir=/opt/reaver

Useful flags

Flag Meaning
--url=https://… Public dashboard URL (nginx server_name)
--dir=/path Install directory (default /var/www/reaver)
--version=… Pin a specific release (default: CDN latest)
--certbot --certbot-email=you@example.com TLS with Let's Encrypt
--skip-deps / --skip-nginx / --skip-cron Skip those steps
--non-interactive / -y No prompts
--help Full usage

CDN hosts are fixed in the installer (not overridable) for supply-chain safety.

The installer:

  1. Installs nginx + PHP-FPM (Debian/Ubuntu) unless --skip-deps
  2. Downloads the release tarball and verifies SHA-256
  3. Installs into --dir (document root = dashboard files)
  4. Writes an nginx site for your --url
  5. Installs a minute cron for cli/run_schedules.php
  6. Prints the URL for the browser setup wizard

Agent install is separate — from the dashboard Agents page after setup.

Upgrading

Re-running the same install command upgrades in place:

  • Everything under the install dir except data/ is moved to <dir>.bak.<timestamp>/
  • The new package is extracted on top
  • Your SQLite DB, license, keys, and archives under data/ stay put

You can also upgrade from the dashboard License → Software version (Check for updates / Upgrade) when a newer CDN release is available.

Prerequisites

Requirement Notes
OS Linux (Ubuntu 22.04+ recommended)
PHP 8.1+ with pdo_sqlite, curl, mbstring, openssl (installer installs these on Debian/Ubuntu)
Web server Nginx + PHP-FPM (installer can configure nginx)
Database SQLite under the dashboard data/ directory
TLS HTTPS recommended (--certbot or your own certificate)
Cron Minute cron for schedules / digests / license re-check

Dashboard layout

Path Purpose
reaver.php Main UI router
api/ Agent poll API plus public API and chat-app URL
data/ SQLite DB, secrets, archives — not public
cli/ Schedule runner, digests, nginx config generator
agent/ Agent package source (served via dashboard API)
docs/ In-app operator guides

Deny web access to data/, cli/, agent/, vendor/, logs/, templates/, and most of shared/. The package nginx template does this for you.

Manual deploy (without the CDN installer)

  1. Deploy dashboard files to a web root (e.g. /var/www/reaver).
  2. Ensure the PHP user can write data/.
  3. Point nginx at the root; route PHP to FPM.
  4. Open the site and complete the setup wizard.
  5. Enable the schedule cron (see Schedules).

Nginx sketch

server {
    listen 443 ssl http2;
    server_name reaver.example.com;
    root /var/www/reaver;
    index reaver.php index.php;
    client_max_body_size 2G;

    location ~ ^/(data|cli|agent|vendor|logs|templates|install)/ {
        deny all;
        return 404;
    }

    location / {
        try_files $uri $uri/ /reaver.php?$query_string;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php8.3-fpm.sock;
    }
}

Or generate a vhost with php cli/generate_nginx_config.php --url=https://… --root=/var/www/reaver.

The public API and built-in MCP server need nginx to forward /api/v1* and the Authorization header. The package template already does that. See Public API and chat apps and MCP Server for AI Agents.

PHP / nginx upload limits

Archive upload and large POSTs need aligned limits:

  • PHP: upload_max_filesize, post_max_size
  • Nginx: client_max_body_size

Mismatch often produces HTTP 413. See Restore & Archives.

After install

Complete the browser setup wizard (admin account), then sign in. The dashboard shows a guided first-run walkthrough until you dismiss it or a backup succeeds — same order as the public guide:

Follow the First Backup Walkthrough:

  1. Agents & Sites — install an agent (SSH or manual pair)
  2. Discover WordPress / add custom paths
  3. Choose storage — local primary repo, or Offsite Destinations then set primary
  4. Run the first backup, then Schedules
  5. Configuration — license, SMTP, notifications when ready
  6. Optional: Public API and chat apps and MCP Server for AI Agents — tokens, Claude/Cursor/LibreChat, outbound webhooks