Skip to main content

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, JavaScript/TypeScript SDK, or CLI 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.

Free tier

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 or email/password
  • 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, SDK, and CLIโ€‹

BaaS has three surfaces that work together:

SurfaceHostWho uses itWhat for
Web portalbaas.lighthouse.storageHumansLog in, manage workspaces & members, mint API keys, browse snapshots
SDK (Go / JS)baas-api.lighthouse.storageYour servers / CIIntegrate backups, restores, and snapshot lifecycle into code
CLI (baas)baas-api.lighthouse.storageOperators, scripts, CIRun backups, restores, and snapshot lifecycle from the terminal

With the Go SDK, point APIURL at the API host (https://baas-api.lighthouse.storage) when you create the client. The JS SDK and CLI target the API host internally, so there is no API URL to set.

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:

  1. Web Portal & Free Workspace โ€” sign in and use your default workspace
  2. API Keys โ€” create the key used by the SDK or CLI
  3. Backup database (quick reference) โ€” create a local dump
  4. Upload Backup Data and Manage Snapshots โ€” upload the dump and verify the snapshot

Optional team layer:

Tutorials โ€” full backup recipes:

Developer workflowโ€‹

A typical implementation pattern is:

  • Run a scheduled database dump job that updates one rolling dump file
  • Call the SDK Backup() / backup() flow or baas backup 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