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/statusReturn all recorded backup entries as a JSON array.
DELETE
/api/statusClear all recorded backup entries.
GET
/api/configsReturn the list of loaded config blocks (name, sources, destinations, cron spec, next run).
GET
/api/runningReturns
{"running": true|false} — whether a backup run is currently in progress.POST
/api/runTrigger an immediate backup run.
Body:
Returns
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/configRead a config file.
?file=0 — zero-based file index (default 0).?list=1 — list all registered config files as JSON instead.
POST
/api/configOverwrite a config file with the plain-text request body.
?file=0 — zero-based file index (default 0).