Total Backups
—
Successful
—
Failed
—
Unique Repos
—
Source Hosts
—

Run Backup

Backup History

Counts and filters reflect recorded backups since startup or the last history clear.

📦
No backup data yet
Backup entries will appear here once a run completes.

Configuration

Configuration example and supported providers

Sources: GitHub, GitLab, Gitea/Forgejo, Gogs, Bitbucket, OneDev, SourceHut, Opengist, or any Git URL.

Destinations: local, GitHub, GitLab, Gitea/Forgejo, Gogs, OneDev, SourceHut, S3, Azure Blob, WebDAV, or Radicle.

Copy this example into the editor and replace the repository URL and backup path. Without a cron schedule, saving starts a backup after the configuration is loaded.

source:
  any:
    - url: https://github.com/OWNER/REPOSITORY.git
destination:
  local:
    - path: /backups
      bare: true
# Optional daily schedule (UTC unless TZ is set):
# cron: "0 0 * * *"

Edit configuration as YAML. Reload reads the file from disk and discards edits. Saved changes are picked up automatically; without a schedule, reloading the configuration starts a backup.

API Reference

GET/api/status
Return all recorded backup entries as a JSON array.
DELETE/api/status
Clear all recorded backup entries.
GET/api/configs
Return the list of loaded config blocks (name, sources, destinations, cron spec, next run).
GET/api/running
Returns {"running": true|false} — whether a backup run is currently in progress.
POST/api/run
Trigger an immediate backup run.
Body: {"index": -1} — -1 runs all configs, ≥0 runs the config at that index.
Returns 202 Accepted or 409 Conflict if already running.
GET/api/config
Read a config file.
?file=0 — zero-based file index (default 0).
?list=1 — list all registered config files as JSON instead.
POST/api/config
Overwrite a config file with the plain-text request body.
?file=0 — zero-based file index (default 0).