Skip to main content
Percher is still being built, but you can try it out with a free account right now!

Migrating from Lovable

Build in Lovable, host on Percher — keep your Supabase backend

Build in Lovable, host on Percher. Lovable turns a chat into a working Vite + React + Supabase project; Percher gives it a live URL on your own domain with flat-rate hosting. The two layers stay independent — keep iterating in Lovable, redeploy to Percher when you hit a milestone.

What carries over (without changes)

  • Your code. Lovable syncs the project to GitHub as a standard Vite + React app — no proprietary file format.
  • Your Supabase backend. Database schema, RLS policies, auth providers, and edge functions stay unchanged. Point Percher at the same project via env vars.
  • Your Lovable workflow. Keep using the chat to iterate; sync to GitHub and bunx percher publish picks up the new state.
  • Existing user accounts. Supabase auth users stay in the same database. Only the React bundle moves.

Steps

# 1. In Lovable: sync your project to GitHub
# 2. Clone it locally
git clone https://github.com/you/your-lovable-project
cd your-lovable-project

# 3. Generate percher.toml (init detects Vite + scaffolds Dockerfile + Caddyfile)
bunx percher init

# 4. Re-set your Supabase env vars (the VITE_ prefix auto-forwards to the build)
bunx percher env set VITE_SUPABASE_URL=https://xxx.supabase.co
bunx percher env set VITE_SUPABASE_ANON_KEY=eyJhbGc...

# 5. Build and deploy
bunx percher publish

# 6. Custom domain (one DNS update — the CLI prints the records)
bunx percher domains add yourdomain.com

The Vite project ships as runtime = "docker"with a multi-stage build: a slim Bun image compiles the bundle and a slim Caddy image serves it (~30 MB runtime image, automatic SSL via Let's Encrypt).

Supabase Site URL and OAuth redirects

Add your new Percher URL to Supabase Authentication → URL Configuration → Site URL and Redirect URLs. Without that, OAuth callbacks and email confirmations come back to the old domain. Every other Supabase auth feature works unchanged.

What changes on Percher

You own the URLname.percher.run right away, or your own domain on any paid plan
Real logsbunx percher logs streams runtime; --build shows any deploy's build log
RollbackEvery deploy gets a content hash and stays in history — roll back in one call
Flat costNo bandwidth meter, no token meter
EU data residencyPercher runs in a single EU region (Germany)

Note:Percher is hosting for personal and small-scale apps: things you build for yourself, your family, a club or association, or a smaller business. There is no uptime SLA and no formal compliance attestation. For a monetised SaaS or anything with contractual uptime, Lovable's own production hosting or a higher-tier provider is the better fit.

FAQ

Do I have to stop using Lovable?

No. Keep building in Lovable's chat, sync to GitHub at a milestone, then re-deploy with bunx percher publish. The two layers stay independent: Lovable builds by chat, Percher serves the live URL.

What happens to my Supabase project?

Nothing changes. Supabase is reached over HTTPS from your client bundle. Copy VITE_SUPABASE_URL and VITE_SUPABASE_ANON_KEY from Lovable's env vars and re-set them on Percher. The VITE_ prefix auto-forwards to the build container, so the values are baked into the bundle on the next deploy. Auth, RLS, and edge functions stay unchanged.

What about Supabase auth callbacks and OAuth?

Add your new Percher URL to Supabase Authentication -> URL Configuration -> Site URL and Redirect URLs. Without that, OAuth callbacks and email confirmations return to the old domain. Every other Supabase auth feature works unchanged.

Is the migration reversible?

Yes. You keep the code (a standard Vite + React project on GitHub) and the Supabase backend. Percher is hosting, not a platform you build inside, so you can deploy the same code elsewhere with no lock-in.

Does Percher have an AI app builder like Lovable?

No. Percher is dedicated hosting for personal apps. The intended pairing is Lovable (or Claude Code, Cursor, Windsurf) for building and Percher for hosting. The two roles stay separate.