v1.3.0 · Self-hosted

Encrypted backups
for PHP sites

Schedule, encrypt with XChaCha20, store on Google Drive, S3, Dropbox, or cheap shared hosting. Restore in one click.

Your VPS
  • Schedule backups
  • Dump DB + tar files
  • Apply retention policy
  • Send notifications
Encryption
  • XChaCha20-Poly1305
  • Per-backup keys (DEK)
  • 8 MB chunks
  • SHA-256 verification
Storage
  • Google Drive / S3 / SFTP
  • Dropbox / OneDrive
  • Bakit Storage API
  • Local filesystem

7 storage destinations

Connect cloud drives with one click. No API keys needed.

Bakit
Storage API
Google
Drive
Dropbox
OneDrive
S3 /
Compatible
SFTP
Local

Install in 4 steps

A storage receiver + a server. Under 5 minutes.

Storage receiver

Deploy to any PHP shared hosting (SQLite or MySQL):

  1. Download storage-install.php
  2. Upload to your hosting via FTP
  3. Open https://your-host.com/storage-install.php
  4. Configure database, click Install
  5. Copy the API token
Server — any VPS
$ BAKIT_DOMAIN=backup.example.com curl -sSL https://bakit.online/install/standalone | bash

Using CloudPanel? Use https://bakit.online/install/cloudpanel instead.

Setup wizard

Open https://your-domain/setup — create admin, generate encryption key, connect storage.

Verify
$ php artisan bakit:preflight

Checks PHP, extensions, database, queue, encryption, and storage connectivity.

Everything you need

Encryption

XChaCha20-Poly1305 via libsodium. Per-backup keys. Optional per policy.

Chunked uploads

8 MB chunks with SHA-256 checksums. Survives interruptions.

Scheduling

Presets or custom cron. GFS retention. Automatic cleanup.

Safe restore

Pre-restore snapshot. Download or extract on-server.

Cloud drives

One-click OAuth for Google Drive, Dropbox, OneDrive. Folder browser.

Dashboard

Live progress, health overview, job history, email alerts.

What you need

Server (your VPS)

  • PHP 8.3+ with ext-sodium
  • Docker + Compose v2 or systemd
  • mysqldump, tar, gzip
  • SQLite or MySQL

Storage (shared hosting)

  • PHP 8.0+
  • PDO (SQLite or MySQL)
  • FTP access + writable web root
  • cURL or allow_url_fopen