Configuration

Configure Reaver from the dashboard Settings page (and related Security / License screens). Most admin cards are collapsible and closed by default.

License activation

Open License in the dashboard and sign in with your Reaver website account (email and password). The dashboard links to your account (and its subscription/plan) on the marketing site.

What you get back

  • Plan and status
  • Limits: max_sites, max_offsite
  • Usage (when the dashboard reports install id + counts): account-wide sites/offsite across every linked control plane

Default API host: https://reaverbackup.com. Override with REAVER_LICENSE_API_BASE if needed.

API endpoints (website):

  • POST /api/link-license.php — first link: { "email", "password", "installation_id", "machine_id", "used_sites", "used_offsite" }
  • POST /api/verify-license.php — later: { "api_token", "installation_id", "machine_id", "used_sites", "used_offsite" }

Limits and enforcement

Count How it is measured
Sites Managed restic repos (site_repos), not agents. WordPress discovery and custom path sites both count after they have a repo.
Offsite Configured remote destinations on the Offsite page. Free = local only.
Account-wide Website sums usage from all dashboards linked to the same account so two Free installs cannot each run one site.

The dashboard blocks new site repo claims, schedules that cannot run, and extra offsite destinations when over limit. See plan tables in FAQ.

Grace periods

  • Renewal (5 days): after expiry, backups continue briefly; then new backups pause (restores still work). Plan is not forced to Free.
  • Downgrade overage (14 days): time to remove excess repos; then newest site repos stop new backups; oldest keep up to the limit.

Automatic re-check

With system cron running cli/run_schedules.php, the dashboard re-verifies the license about every 6 hours and can email admins about grace/overage/expired state. Manual Refresh status on License still works. Force: php cli/run_schedules.php --force-license.

Where to view usage

Place What you see
Dashboard License Account-wide sites used/max, this install vs other dashboards
Dashboard home Banners for grace / expired / overage
Website My Account → Site usage Totals + list of linked dashboards
Website Admin → Users → Usage Per-user totals and per-install breakdown

Installation ID and machine fingerprint

  • Installation ID — identifies this control plane for account-wide site quotas. Stored in data/license.json. When the host has a Linux machine-id (or similar), the dashboard derives the id from a hash of that identity plus the data directory path, so a wipe/reinstall on the same machine and path reports the same id and does not create a second usage row.
  • Machine ID — host-only fingerprint (also hashed) sent with license checks. If the install id is new but exactly one prior row for the account shares the same machine id (typical after reinstall before the stable id was adopted, or a path change with a single dashboard on the host), the website reconnects that row instead of double-counting sites.

Two dashboards on one server use different data paths and therefore different installation ids; they only share a machine id. Orphan rows from older random ids can be removed under Admin → Users → Usage → Remove.

SMTP (admin)

Settings → SMTP — required for invite email, password reset, notification digests, and license notice email.

Configure host, port, encryption, username, password, and from address. Use the built-in test connection / test notification actions when available. Saves are audited (host/port/user/from; password updated vs unchanged — never the raw password).

Email notifications

Setting Purpose
My notification preferences Per-user preferences (e.g. instant OK/fail per site on the Dashboard cards)
Email notifications (admin) System-wide notification policy / digest behavior

Morning digests are tied to the same minute scheduler as Schedules.

Schedule timezone

Settings → Schedule timezone — wall-clock interpretation for schedule “next run” times. Change this if next run does not match local time.

Local backups

Settings → Local backups — defaults for agent-local restic storage paths and related options. Local restic passwords are dashboard-managed like remote destinations (see Security and Agents).

Primary repositories

Settings → Primary repos (also from Dashboard site cards) — default destination for Run and Backup all. Remote destinations use per-site repos under {prefix}/{site-slug}.

Repo maintenance

Settings → Repo maintenance — operator tools for repository maintenance / intentional storage destroy. Use carefully; deleting a destination entry does not always wipe remote data.

Jobs cleanup

Settings → Jobs cleanup — automatically delete finished jobs older than N days (completed/failed). Manual Clear finished on the Jobs page remains available.

Agent environment (on each host)

Agent-side settings (poll intervals, local backup path, destination connect timeouts) live in /opt/reaver-agent/data/agent.env on each host — not on this Settings page. See Agents → Environment variables.

Debug logging

Settings → Debug logging — writes detailed diagnostics under data/debug.log. Enable when diagnosing stuck jobs or destination failures; disable when finished to reduce noise and disk use.

Product feedback

From the dashboard top bar (Feedback, next to your account name), submit category + message to the website API using the linked account token. Optional “Open on website” for screenshots (/feedback with session). Requires a linked License. Team replies by email when website SMTP is configured.

Anonymous product statistics

Reaver can send limited, anonymous product statistics so we can prioritize development. This is separate from license usage reporting.

Default: on for every edition (Free and paid). You can opt out at any time by setting anonymous_statistics to false in dashboard configuration (or the Settings UI when available). Free use treats limited stats as the expected exchange for free, no-account access; paid plans use the same default and the same opt-out.

What is sent (coarse only, schema v2): Reaver version, plan label, PHP/OS, site and agent counts, schedule count, WordPress vs custom-path site counts, feature flags, backup success/failure totals, destination type enums and counts, primary repo type, whether SMTP and notifications are configured, whether an account is linked, last backup age bucket, restore/archive ever used, coarse recent failure buckets, days since install, and a random local install_id for dedupe only.

What is not sent: hostnames, site URLs, emails, SMTP hosts, bucket names, paths, job names, repo IDs, tokens, or error logs.

  • Endpoint: POST https://reaverbackup.com/api/telemetry.php (or your REAVER_LICENSE_API_BASE host)
  • Fail open: if the endpoint is unreachable, backups continue as normal

See Public API and chat apps and the Privacy Policy.