FILES / 01
Only move what changed.
Connect any Linux host over FTP, FTPS, SFTP, or SSH. Incremental mode keeps a per-node snapshot cache, so every run is a complete standalone zip without re-downloading the whole site.
Self-hosted backup automation
One control room for websites, databases, servers, and cloud infrastructure. Keep every copy where you choose—and bring it back with one click.
✓ GNU GPLv3 runs on your server self-hosted beta
MONITORING THE STACK
One layer of calm
BackupSheep separates what you protect from where you keep it. That simple model makes complex infrastructure easier to operate—and much easier to recover.
FILES / 01
Connect any Linux host over FTP, FTPS, SFTP, or SSH. Incremental mode keeps a per-node snapshot cache, so every run is a complete standalone zip without re-downloading the whole site.
DATA / 02
Use native clients for MySQL, MariaDB, and PostgreSQL. Choose every database or specific tables, connect directly or through an SSH tunnel, and bring back databases that no longer exist.
INFRA / 03
Protect cloud servers, volumes, managed databases, WordPress, and Basecamp from the same console. Provider-native snapshots stay in your cloud account; offsite dumps and files go to the destinations you choose.
Your data, your topology
Send each backup to one destination or fan it out across several. Local disk, object storage, or a protected air-gapped copy—BackupSheep keeps the policy in one place.
Keep a local working copy, an offsite archive, and an immutable S3 copy in the same run.
Object Lock governance or compliance retention, plus a protected copy your schedule validates first.
Tier older archives to colder S3 classes and project storage cost by source and destination.
The recovery moment
Choose a historical backup, choose the copy, and let BackupSheep put the data back. Every restore is tracked with live status and a redacted run log.
Push files back with an optional exact mirror to remove anything missing from the backup.
Import native dumps and create databases that no longer exist, over direct or SSH-tunnelled connections.
Rebuild through the provider when the backup is a native server or volume snapshot.
Restore is simulated in this preview.
Trust is a system property
Backups are only useful if the archive is complete, the credential handling is safe, and the restore works when the clock is loud.
Every transfer and native command is verified. One failed file fails the run, so it retries instead of archiving a gap.
Engines check free space against the expected dump size before starting—no mid-dump surprises.
Interrupted transfers continue, retries reuse the same backup record, and concurrent runs serialize cleanly.
Secrets are encrypted at rest, passed through safe temporary mechanisms, and redacted from run output.
Verified against sites with 100k+ files and multi-GB databases, with restore-tested archives.
Run the console, workers, database, and broker on your own server with Docker Compose.
The everyday control room
See what is protected, what is coming next, and what needs attention—then give your team exactly the access they need.
Stat cards, storage usage, recent runs, failures, and the next scheduled backups.
Daily, weekly, monthly, cron, and on-demand runs with keep-last policies.
Email, Slack, and Telegram alerts for success, failure, validation, and restores.
Invite teammates or clients with groups, granular permissions, and per-node scope.
Account-wide audit history for auth, nodes, storage, schedules, backups, and restores.
Automate the console and scale specialized Celery queues independently.
Start with one server
On Ubuntu 22.04+ or Debian 12+, the installer brings up the full Docker Compose stack and prints your onboarding URL when it is ready.
# on a fresh server
$ curl -fsSL \
https://raw.githubusercontent.com/
bilal414/backupsheep/main/install.sh | sudo bash
✓ BackupSheep is ready
onboarding → http://your-server:8000/
Good to know
No. The current project is self-hostable and open-sourced under GPLv3. You run the application and its workers on infrastructure you control.
Wherever you configure them: local disk or any of the supported object-storage and OAuth destinations. A single backup can be pushed to several destinations at once.
Yes. Local Storage needs no provider credentials, and the first-run wizard guides you through adding your first source and destination.
Start with the production deployment guide for HTTPS, hardening, persistent volumes, and secret handling. The docs are linked from the repository.