A DatoCMS plugin by Signifly that automatically creates scheduled backups of your environments with full history tracking and configurable retention policies.
- Scheduled Backups: Daily, weekly, and monthly backup schedules with fully configurable cron expressions
- Backup History: Unlimited backup history stored in Vercel KV with status, duration, and timestamps
- Manual Backups: Trigger on-demand backups from the plugin UI
- Retention Policies: Automatically clean up old backups based on configurable retention counts
- One-Click Deploy: Deploy the backend service to Vercel with a single click
During deployment:
- Set a secure
CRON_SECRET(generate one withopenssl rand -hex 32) - Vercel KV storage will be automatically provisioned
Install the plugin from the DatoCMS marketplace, or add it manually to your project.
- When prompted, enter your Vercel deployment URL
- Provide a DatoCMS Full-Access API token
- Configure your backup schedules
This is a monorepo containing:
├── apps/
│ ├── plugin/ # DatoCMS plugin UI (React 19 + Vite)
│ └── api/ # Vercel API backend (Next.js 15)
├── packages/
│ └── shared/ # Shared TypeScript types
The DatoCMS plugin provides:
- Setup wizard for deploying and connecting the backend
- Backup history view with filtering
- Schedule configuration UI
- Manual backup trigger
The Vercel-hosted backend provides:
/api/cron/backup- Scheduled backup execution (called by Vercel cron)/api/backup/trigger- Manual backup endpoint/api/backup/history- Backup history retrieval/api/config- Configuration management/api/health- Health check for connection validation
- Node.js 20+
- pnpm 9+
# Install dependencies
pnpm install
# Start development servers
pnpm devThis starts:
- Plugin dev server at
http://localhost:5173 - API dev server at
http://localhost:3001
pnpm buildpnpm typecheck| Variable | Required | Description |
|---|---|---|
CRON_SECRET |
Yes | Secret for authenticating cron requests |
KV_* |
Auto | Vercel KV connection strings (auto-provisioned) |
Health check endpoint. Returns service status and KV connection state.
Manage backup configuration for a project.
Trigger a manual backup. Requires Authorization: Bearer <apiToken> header.
Retrieve paginated backup history. Supports filtering by type and status.
Cron endpoint called by Vercel. Requires Authorization: Bearer <CRON_SECRET> header.
- Backup Verification: Verify environment accessibility after fork
- One-Click Restore: Promote backup environment to primary
- Notifications: Slack/Discord webhooks for backup events
- Multi-Environment: Backup from any environment, not just main
- Backup Tags: Tag and pin important backups
- Analytics Dashboard: Success rates, duration trends
Signifly is a digital agency specializing in strategy, design, and technology. We build digital products and experiences that make a difference.
MIT
