BaaS Introduction
Backup as a Service (BaaS) helps you set up backup and restore workflows without having to build and maintain your own backup system.
Use the Go SDK to implement authentication, optional workspace-level access control, automated backup jobs, snapshot-based recovery, and backup lifecycle operations. Backup data is stored on Lighthouse for long-term retention.
Every new account starts with a free workspace that includes 5 GB of storage. No setup or payment is required to begin backing up. Past 5 GB, upgrade to paid storage before retaining additional backup data; see pricing.
What you can do with BaaSโ
- Authenticate using an API key, email/password, or SIWE (Sign-In With Ethereum)
- Organize backups by workspace for teams and projects
- Manage members, roles, and scope-based permissions
- Create and rotate API keys for cron/CI backup jobs
- Incremental, content-addressed backups โ only changed data is uploaded (FastCDC chunking + deduplication)
- Optionally encrypt backup data client-side before upload
- Compress backup data to reduce storage size and speed up transfer
- Verify backup integrity with checksums before recovery and restore operations
- Upload backup data and manage snapshots (list, inspect, prune, delete, restore)
Portal vs. SDKโ
BaaS has two surfaces that work together:
| Surface | Host | Who uses it | What for |
|---|---|---|---|
| Web portal | baas.lighthouse.storage | Humans | Log in, manage workspaces & members, mint API keys, browse snapshots |
| Go SDK | baas-api.lighthouse.storage | Your servers / CI | Run backups, restores, and snapshot lifecycle from automation |
When you create the SDK client, point APIURL at the API host (https://baas-api.lighthouse.storage).
How this documentation is organizedโ
The default path is a solo quickstart: sign in, create one API key, create a dump, then upload it as a snapshot. Team administration is an optional layer you can add when you need shared workspaces, members, roles, or scoped permissions.
Solo quickstart:
- Web Portal & Free Workspace โ sign in and use your default workspace
- API Keys โ create the key used by the Go SDK
- Backup database (quick reference) โ create a local dump
- Upload Backup Data and Manage Snapshots โ upload the dump and verify the snapshot
Optional team layer:
- Workspaces and members
- Roles, scopes, and permissions
- Authentication โ API key, email/password, and SIWE client setup
- Troubleshooting
Tutorials โ full backup recipes:
- Tutorials overview
- Per-database dumps: PostgreSQL, MySQL, SQLite, MongoDB, Amazon DynamoDB, Amazon S3
- Automated backup with scheduling โ dump + upload + cron
Developer workflowโ
A typical implementation pattern is:
- Run a scheduled database dump job that updates one rolling dump file
- Call the SDK
Backup()flow from automation to upload it as a new snapshot - Enable client-side encryption when your backup policy requires customer-managed encryption keys
- Use snapshots as immutable restore points; apply a retention/prune policy
- Periodically validate restore paths in a recovery drill