🪷 Calm Backup

Features

Encrypted backups, zero complexity

Calm Backup is a zero-knowledge encrypted backup service for PHP and Laravel applications. Install a package, run the setup wizard, and your database and files are backed up daily — encrypted on your server before anything is transmitted.

Security

Zero-knowledge encryption

Your backups are encrypted client-side using a key that only you possess. The encryption happens on your server before any data is sent to Calm Backup. We store an encrypted blob — we cannot decrypt your backups, and neither can anyone who gains access to our infrastructure.

What we see

Integration

Works with any PHP app

Install with Composer and run the setup wizard. Laravel apps get auto-discovery and artisan commands. Any other PHP app uses the CLI at vendor/bin/calmbackup.

# Any PHP app
composer require calmbackup/backup
vendor/bin/calmbackup init
# Laravel apps can also use:
php artisan backup:install

Automation

Automated daily backups

Once installed, the package registers a daily scheduled task via Laravel's task scheduler. For non-Laravel apps, add a cron entry to run backups on your preferred schedule. Your database is dumped, encrypted, and uploaded every day without any manual intervention.

* * * * * cd /path-to-project && php artisan schedule:run >> /dev/null 2>&1
# Non-Laravel: add to crontab
0 2 * * * cd /path-to-project && vendor/bin/calmbackup run >> /dev/null 2>&1

Storage

Database + directory backup

Beyond your database, back up any directories on your server — user uploads, generated files, configuration directories. Specify paths in your config and they're included in every backup, encrypted the same way.

// config/backup.php (Laravel)
'directories' => [
    storage_path('app/public'),
],

Flexibility

On-demand backups

Need a backup before a deployment or migration? Trigger one instantly with an artisan command. The backup runs the same encryption pipeline as the scheduled backups — same security, on your schedule.

# Laravel
php artisan backup:run

# Any PHP app
vendor/bin/calmbackup run

Key management

Encryption key management

Your encryption key is generated on your side and stored only in your environment. We never receive it. During setup, a recovery key file is generated. Store it somewhere safe — without it, your backups are unrecoverable.

🔑 You hold

Encryption key in your .env

🪷 We hold

An encrypted blob we can't read

Ready to start?

Set up encrypted backups in under a minute.