Utplava Open dashboard

How to move your Lovable Cloud app to your own Supabase

Updated 4 November 2026 · about an hour, plus time to test

Lovable Cloud keeps your app's database, users and files inside Lovable. Moving them to your own Supabase project means you own the data, pay Supabase directly, and can host the app anywhere. Lovable has an official export for the database. This guide follows it, and covers the parts the export leaves behind.

Don't remove Lovable Cloud until the end. Removing it permanently deletes your database, user accounts and stored files. Keep it running until everything works in the new project.

Keep the export file private. It contains your users' personal data and their password hashes. Don't upload it anywhere or send it to anyone, and delete it once the move is done.

What moves, and what you redo

Comes with the export: your tables and data, the rules that protect them (Row Level Security), and your users' accounts with their password hashes, so people keep their passwords.

Not in the export, so you redo it:

Everyone who is signed in will need to sign in once more after the switch. Their passwords still work.

What you need: your Lovable project, a free Supabase account, a free GitHub account, and a computer. One step (restoring the database) runs a command in a terminal. If that's new to you, an AI coding tool like Claude Code or Cursor can run it with you, or email us and we'll walk you through it.

Newer Lovable apps use TanStack Start (you'll see @tanstack/react-start in the app's package.json). Utplava has been tested with Lovable's React and Vite apps. If yours is a TanStack Start app, email us before you switch and we'll check it with you first.

Steps

  1. Write down what your app uses

    Before anything else, note how people sign in (email, Google and so on), the names of the secrets your app uses, the storage buckets that hold files, and any outside services such as Stripe or Resend. This list is how you'll know nothing was missed.

  2. Put your code on GitHub

    If you haven't already, connect Lovable to GitHub (our Lovable guide shows how). Your code, including the supabase folder with your database changes and backend functions, is then in a repository you own.

  3. Export the database

    In Lovable, go to More, then Database, select Manage, then Settings. Under Export project data, click Export data, then Export on the Database card and Start export. Lovable emails you when it's ready, and you download it from More, then Storage. You can export once every 24 hours, and the file can be up to 5 GB.

  4. Download your stored files

    Files aren't in the export. Download them from More, then Storage, keeping the same folders. If there are many, ask Lovable's chat to add a temporary backend function that lists every file in a bucket and returns them as one ZIP with the folder paths kept. Remove that function when you're done.

  5. Create your Supabase project

    On supabase.com, create a new project in a region close to your users and save the database password somewhere safe. From Project Settings, note the Project URL, the publishable key and the project ID. You'll need them later.

  6. Restore the database into Supabase

    The export is a compressed PostgreSQL file that you load with pg_restore, version 16 or newer. In your Supabase project, click Connect and copy the Session pooler connection string, then run:

    pg_restore --no-owner --no-privileges -d "your-connection-string" your-export-file

    Some warnings about things that already exist are normal, because every Supabase project starts with its own sign-in and storage setup. Afterwards, check that Table Editor shows your tables with data and Authentication, then Users shows your users.

  7. Upload your files

    In Supabase, open Storage, create buckets with exactly the same names, and upload your files into the same folders. On the free plan, a single file can be at most 50 MB.

  8. Set up sign-in again

    Under Authentication, turn on the same sign-in methods you had. In URL Configuration, set the Site URL to your app's live link and add it to Redirect URLs, or sign-in will send people back to the wrong place. For Google sign-in, add the new project's callback link in your Google settings too.

  9. Add your secrets and backend functions

    Copy fresh keys from each service on your list and add them in Supabase under Edge Functions, then Secrets. Then deploy your backend functions from your code with npx supabase functions deploy, or ask your AI tool to do it.

  10. Point your app at the new project and put it online

    In Utplava, pick your app's repository. On the app's page, set VITE_SUPABASE_URL, VITE_SUPABASE_PUBLISHABLE_KEY and VITE_SUPABASE_PROJECT_ID to your new project's values. Utplava explains each one and warns you if a key looks wrong. Settings here take priority over the old values in your code. Then deploy.

  11. Test everything before you remove anything

    On the new link, sign in with an existing account and its old password, try a password reset, open a page with stored files, upload a new file, and test each outside service, like a test payment or email. Go back to your list from step 1 and tick everything off.

  12. Remove Lovable Cloud, then connect your own Supabase in Lovable

    Only when everything passes: remove Lovable Cloud under More, then Database, Manage, Settings. That deletes the old database for good, which is why it comes last. Then connect your own Supabase project in Lovable so you can keep building there. Lovable may update your app's code when you connect it, so open your live link once more afterwards and check it still works.

If something doesn't look right

Users can't sign in on the new link

Check step 8: the live link must be in Supabase's Redirect URLs, and each sign-in method must be turned on again. People who were signed in before the switch need to sign in once more.

Pictures or files are missing

The bucket names or folders don't match the old ones exactly. Compare them with Lovable's Storage view and re-upload into the right place.

The app still shows old data

It's still talking to Lovable Cloud. Check the three VITE_SUPABASE_ settings in Utplava (step 10) and deploy again. These values are built into the app, so a change only shows after a new deploy. If it still shows old data, the old address may be written straight into your code (often in src/integrations/supabase/client.ts). Ask Lovable to read it from the settings instead.

Still stuck?

Email contact@dealup.co.in with your app's name and the step you're on. A real person will help.

Put your app online with Utplava

Free plan: up to 3 apps. Your Supabase project stays yours, on Supabase's own plans.