Today, we're reintroducing Laravel Backup Server with a fresh version 4 release. It comes with refactored internals and more control over notifications, but most importantly: we're removing it from our shop and open sourcing it instead.
What is Laravel Backup Server?
Backup Server is a Laravel package that monitors your servers and ensures their contents are backed up. It uses rsync to back up data from a source (a server you have access to via SSH) to a backup destination (a local Laravel disk). It will purge old backups to save disk space, monitor the health of your sources and destinations, and send notifications when backups succeed or fail so you can act before it's too late.
Laravel Backup Server has a very neat trick up its sleeve to vastly decrease the disk space needed to store backups. Files that are identical to the ones in the previous backup, will not be copied. Instead, rsync will put a hard link to the file in the previous backup. This means that, even though a file will appear in your filesystem, no real disk space will be used. You can read more about the backup process in our docs.
The past few years, the Laravel ecosystem has been moving slowly towards hosted database services and specialized file storage, which made this package even more niche than it already was. That said, we (and many others) still watch over a small fleet of Digital Ocean droplets we maintain. Remember that time one of our droplets vanished? We'd rather be safe than sorry. Having multiple levels of redundancy is critical to ensure we don't have to send that dreaded email to a customer.
How is Laravel Backup Server different from the Laravel Backup package?
Laravel Backup is one of our most popular packages. When installed into your app, it can create a zip of the application it is installed in that contains all import files and an optional dump of your db. The package will copy that zip to a backup destination of your choice. Laravel Backup Server is different: instead of creating a backup of the app it is installed in, it acts as a service to back up other apps.
Why is it free and open source now?
We built this package to scratch our own itch, as our age-old and brittle BackupPC installation was a ticking timebomb running on an outdated Ubuntu version. We were stoked about how it shaped up and wanted to build a UI for it—maybe even turn it into a SaaS. Because we were planning to productize it, we didn't want to release it as MIT software at the time. On the other hand, we wanted to make it available in some shape or form, so we released it as a paid package.
Fast forward 5 years and we haven't built a UI, we haven't built a SaaS, and we're not planning to do either any time soon. It's a niche market we don't want to enter, and there are more than enough other ideas floating around and exciting us. At this point, we'd rather have it available in our open source package portfolio.
Laravel Backup Server is "complete". Software is never done, but we don't expect any big additions besides the annual PHP/Laravel compatibility updates. That said, if we piqued your interest, we're looking forward to your pull requests!
The GitHub repository is now publicly available, and you can explore the docs to get started.