GUIDE

How to move a Lovable app onto your own hosting

· 5 min read

Lovable hosts your app by default, and for a prototype that is the right call. Then the app becomes real and the reasons to hold your own infrastructure stack up: hosting draws from the same credit balance you want to spend on building, a business wants predictable costs and its own perimeter, and control of the domain, the deploys, and the data starts to matter. Here is the part many owners miss: moving your hosting does not mean leaving Lovable. The export is a sync, and it runs both ways.

Quick answer: Connect Lovable’s GitHub sync, confirm which stack your project uses (projects created before May 13, 2026 are static React builds, newer ones are server-rendered Node apps), deploy the repo to Vercel, Netlify, or your own server with the environment variables set, and point your domain at it. The backend stays on Lovable Cloud or Supabase, and you can keep prompting in Lovable.

Why move hosting at all?

Three reasons come up repeatedly. Cost predictability: platform hosting is bundled with the credit system, and a business line item should not compete with your build budget or surprise you in a busy month. Control: your own hosting means your domain and DNS, your deploy history, rollbacks, and logs, and infrastructure that belongs to the company rather than to a subscription. And requirements: some clients, integrations, and compliance situations need the app inside infrastructure you govern. If none of these apply yet, staying put is fine, and the export path below still works later.

Which Lovable stack do you have?

Lovable changed its generated architecture on May 13, 2026. Projects created before then are React and Vite single-page apps: they build to static files and can be hosted anywhere that serves files. Projects created after are built on TanStack Start with server-side rendering: they are Node applications that need a server runtime rather than a static file host. The check takes ten seconds: open package.json in your export. If dependencies include @tanstack/react-start, you have the server-rendered kind. Vite with plain React means the static kind. This one distinction drives every hosting choice below.

How does the export work?

In your Lovable project, connect the GitHub integration and push the project to a repository under your own account or organization. This is a two-way sync: edits made in Lovable push to GitHub, and commits pushed to the active branch sync back into Lovable, so exporting is not leaving. A ZIP download exists as a fallback, but the GitHub path is the one you want, because it becomes your deploy source and your backup at the same time. The code is yours either way; Lovable’s own documentation is explicit that you own what you build and can run it anywhere.

Where should the frontend live?

For the static (Vite) stack: Vercel, Netlify, or any static host. Connect the host to your GitHub repo, set the build command, add the environment variables from your Lovable project settings, and every push deploys automatically. For the server-rendered (TanStack) stack: you need Node hosting, which Vercel and Netlify both provide, or a server of your own; we typically land bigger builds on DigitalOcean where the database, background jobs, and app can share one predictable bill. Either way, the golden rule is environment variables: the keys and URLs your app reads must be configured at the new host, and this is the step that causes ninety percent of failed first deploys.

What happens to the backend?

Usually nothing, and that surprises people. Your frontend talks to Lovable Cloud or Supabase over HTTPS using a project URL and a publishable key, and it does not care where the frontend is served from. Moving hosting does not move your data. Migrating the backend to a Supabase organization you own directly is a separate, optional project: export the schema and data, stand up the new project, update the URL and keys, and plan a cutover window. Worth doing when ownership or billing consolidation matters, and worth skipping on day one.

Can you keep using Lovable after moving?

Yes, and this is the workflow we recommend during transition: keep prompting in Lovable, let changes sync to GitHub, and let your host deploy from there. Add the guardrails from our production readiness checklist so AI-generated changes pass a build check and a smoke test before going live. And update the details that quietly break in moves: OAuth callback URLs, allowed origins on the backend, and any hardcoded links to the old preview domain. If you would rather hand the whole migration to us as a fixed-scope job, that is a standard piece of our production work.

Frequently asked questions

Do I lose the ability to edit with AI after moving?

No. The GitHub sync runs both directions, so you can keep building in Lovable while hosting anywhere. The pairing of platform editing with external hosting is a supported, documented arrangement, and a common one.

Will my custom domain move over?

Yes. Point the domain’s DNS at the new host, and SSL certificates issue automatically on every mainstream platform. Plan a low-traffic window for the switch, and keep the old hosting live until the new one answers correctly.

Does the server-rendered stack cost more to host?

Somewhat. Static files are nearly free to serve, while a Node runtime consumes compute per request. On Vercel or Netlify the difference is usually modest at small scale; on your own server it is the difference between a static bucket and a small droplet.

Can I move my data from Lovable Cloud to my own Supabase?

Yes. Lovable Cloud is Supabase-based and the platform documents data portability: export schemas and data, import into your own project, swap the connection details. Treat it as a small migration project with a tested cutover instead of a checkbox.

Is self-hosting against Lovable’s terms?

No. Ownership and portability are explicit: the code is yours, exports are supported, and the company states plainly that you can self-host or move providers at any time. You are using the platform as designed.

What breaks most often in the move?

Environment variables missing at the new host, OAuth redirect URLs still pointing at the old domain, and backend origin allowlists that do not include the new frontend URL. All three produce an app that builds fine and fails at runtime, and all three are five-minute fixes once named.