# Staticbot > Deploy websites and apps to your own AWS without vendor lock-in. Migrate from Supabase-hosted AI builders (Lovable, Bolt, Base44, Replit, v0, Manus) to infrastructure you own and control. - Full content for LLMs: https://staticbot.dev/llms-full.txt Staticbot automates the full migration pipeline: it discovers your Supabase project (edge functions, storage buckets, auth config, database), migrates each component in phases (schema, data, auth users, OAuth identities, edge functions, storage files, secrets, cron jobs, auth config), and deploys your frontend to AWS CloudFront + S3 via Terraform. After migrating, Continuous Sync keeps your target infrastructure up-to-date with Lovable — every push automatically applies new database migrations, deploys edge functions, and rebuilds your frontend. ## Product - Free tier available — no credit card required - Sign up at https://app.staticbot.dev - Supports custom domains (CNAME / ANAME), EU hosting, and Staticbot-managed AWS accounts - Integrates with Supabase, Namecheap, and GitHub ## REST API Base URL: `https://app.staticbot.dev/api/v1` Authentication: `Authorization: Bearer sk-` Keys are generated in the dashboard under Settings → API Keys. They are org-scoped, prefixed with `sk-`, and never expire but can be revoked. ### Templates - `GET /templates` — list all available infrastructure templates - `GET /templates/{id}` — get template details including configuration variables ### Stacks - `GET /stacks` — list all infrastructure stacks - `GET /stacks/{id}` — get stack details - `POST /stacks` — create a new infrastructure stack from a template with auto-generated, custom, or existing domain ### Deployments - `GET /deployments` — list deployments (optional `?stackId=` filter) - `GET /deployments/{id}` — get deployment status; when WAITING, includes required DNS records - `POST /deployments` — create a deployment for a stack (APPLY, PLAN, or DRY_RUN) - `POST /deployments/{id}/start` — start a created deployment ### Migrations - `GET /migrations` — list all migrations (optional `?status=` filter) - `GET /migrations/{id}` — get migration with status and per-phase breakdown - `POST /migrations/{id}/confirm` — approve a migration paused after discovery - `POST /migrations/{id}/resume` — resume a migration paused by user or pending user action - `POST /migrations/{id}/pause` — pause a running migration - `GET /migrations/{id}/jobs` — list all jobs within a migration - `POST /migrations/jobs/{jobId}/retry` — retry a failed migration job - `POST /migrations/jobs/{jobId}/skip` — skip a non-critical migration job - `GET /migrations/{id}/deployments` — list deployments linked to a migration's stack ### Connected Projects (Continuous Sync) - `GET /connected-projects` — list all connected projects (optional `?syncMode=` filter) - `GET /connected-projects/{id}` — get connected project details, sync mode, webhook status - `POST /connected-projects/{id}/sync` — trigger a manual sync - `GET /connected-projects/{id}/sync-runs` — list sync run history - `GET /connected-projects/{id}/sync-runs/{runId}` — get sync run status and summary - `GET /connected-projects/{id}/sync-runs/{runId}/jobs` — get individual sync jobs - `POST /connected-projects/{id}/sync-runs/{runId}/confirm` — confirm a sync paused for review ### Status values Migration: `PENDING` → `PAUSED_FOR_APPROVAL` (after discovery) → `IN_PROGRESS` → `COMPLETED` / `COMPLETED_WITH_ERRORS` / `PAUSED_FOR_USER_ACTION` Sync run: `PENDING` → `IN_PROGRESS` → `COMPLETED` / `FAILED` / `PAUSED_FOR_REVIEW` (destructive migrations) ## Continuous Sync After a completed migration, Continuous Sync keeps your target Supabase project (managed or self-hosted) and AWS deployment up-to-date with changes in Lovable. - **What gets synced:** New database migrations (applied sequentially), edge function changes (deployed in parallel), and frontend changes (rebuild + CDN invalidation) - **Trigger:** GitHub webhook on push (automatic mode) or manual trigger from the dashboard - **Sync modes:** Automatic (webhook-driven, with debouncing), Manual (on-demand), Paused - **Prerequisites:** Completed migration + active AWS deployment + GitHub repository ## MCP Server The Staticbot MCP server lets Claude Code (and any MCP-compatible AI client) control Staticbot infrastructure through natural language. Repository: https://github.com/bitfiction/staticbot-mcp ### Available MCP tools (25 tools) **Templates:** - `list_templates` — list available infrastructure templates - `get_template` — get template details with configuration variables **Stacks:** - `list_stacks` — list all infrastructure stacks - `get_stack` — get stack details - `create_stack` — create an infrastructure stack from a template **Deployments:** - `list_deployments` — list deployments, optionally filtered by stack - `create_deployment` — create a deployment for a stack - `start_deployment` — start a created deployment - `get_deployment` — get deployment status, including DNS records when WAITING **Migrations:** - `list_migrations` — list all migrations, optionally filtered by status - `get_migration` — get current status and per-phase breakdown of a migration - `confirm_migration` — approve a migration paused after discovery - `resume_migration` — resume a paused migration - `pause_migration` — pause a running migration - `get_migration_jobs` — list individual jobs within a migration - `retry_migration_job` — retry a failed migration job - `skip_migration_job` — skip a non-critical migration job - `get_migration_deployments` — list deployments linked to a migration's stack **Connected Projects (Continuous Sync):** - `list_connected_projects` — list all connected projects - `get_connected_project` — get connected project details and sync status - `trigger_sync` — trigger a manual sync - `list_sync_runs` — list sync run history for a project - `get_sync_run` — get sync run status and summary - `get_sync_run_jobs` — get individual jobs for a sync run - `confirm_sync_run` — confirm a sync paused for review (destructive migrations) ### MCP setup (Claude Code) 1. Generate an API key at https://app.staticbot.dev under Settings → API Keys 2. Clone and build: `git clone https://github.com/bitfiction/staticbot-mcp && cd staticbot-mcp && npm install && npm run build` 3. Add to `~/.claude/settings.json`: ```json { "mcpServers": { "staticbot": { "command": "node", "args": ["/path/to/staticbot-mcp/dist/index.js"], "env": { "STATICBOT_API_URL": "https://app.staticbot.dev", "STATICBOT_API_KEY": "sk-..." } } } } ``` 4. Restart Claude Code and run `/mcp` to verify the server is connected. ## FAQ - **Can I migrate from Lovable Cloud to my own Supabase?** -- Yes. Automated migration handles schema, data, auth users (including Google/GitHub OAuth), edge functions, storage files, secrets, and cron jobs — typically under 20 minutes. Your Lovable project is not modified or disconnected. - **Does it migrate Google auth / OAuth users?** -- Yes. Auth users and their OAuth identity records are migrated so users can sign in with their existing provider. - **Does migration disconnect my Lovable project?** -- No. Staticbot reads from the source but does not modify it. You can keep using Lovable as staging alongside the migrated Supabase backend. - **Is it really free?** -- During early access, migrations are free with no limits. The free tier is permanent (1 migration). For the full Lovable migration FAQ (17 questions): https://staticbot.dev/deployment-guides/ai-tools/lovable-supabase-migration#faq For more general and pricing FAQ: see llms-full.txt ## Key pages - Homepage: https://staticbot.dev - Dashboard: https://app.staticbot.dev - API docs: https://staticbot.dev/platform/api-access - MCP server docs: https://staticbot.dev/platform/mcp-server - Guides: https://staticbot.dev/guides - Templates: https://staticbot.dev/templates - EU Hosting: https://staticbot.dev/eu-hosting - Pricing: https://staticbot.dev/pricing - Why Staticbot: https://staticbot.dev/why-staticbot - Blog: https://staticbot.dev/blog - Blog - PostHog Proxy Deployment: https://staticbot.dev/blog/posthog-proxy-deployment - Blog - Lovable Apps for Enterprise: https://staticbot.dev/blog/lovable-apps-for-enterprise - Blog - Vibe Coding Tools Comparison: https://staticbot.dev/blog/browser-based-vibe-coding-tools-comparison - Template - Self-Hosted Supabase: https://staticbot.dev/templates/aws-supabase-self-hosting - Template - CloudFront Reverse Proxy: https://staticbot.dev/templates/aws-cloudfront-reverse-proxy - Template - S3+CloudFront Top Domain: https://staticbot.dev/templates/infrastructure-for-static-website-in-s3cloudfront - Template - S3+CloudFront Subdomain: https://staticbot.dev/templates/infrastructure-for-static-website-in-s3cloudfron-subdomain - Template - OpenClaw: https://staticbot.dev/templates/openclaw-serverless-hosting - Template - MCP Server: https://staticbot.dev/templates/serverless-mcp-implementation - Migration Guide - Supabase Managed: https://staticbot.dev/migration-guides/supabase-managed - Migration Guide - Self-Hosted Supabase: https://staticbot.dev/migration-guides/self-hosted-supabase - Migration Guide - Firebase to Supabase: https://staticbot.dev/migration-guides/firebase-supabase - Solutions - AI Apps: https://staticbot.dev/solutions/ai-apps - Solutions - AI Builder Migration: https://staticbot.dev/solutions/ai-builder-migration - Solutions - Supabase Frontend: https://staticbot.dev/solutions/supabase-frontend - Solutions - Continuous Sync: https://staticbot.dev/solutions/continuous-sync - Solutions - Cheap Durable Hosting: https://staticbot.dev/solutions/cheap-durable-hosting