How to put your Lovable website online on your own domain
Three ways to put a Lovable site on your own domain: Lovable's own domains, ProHostiva, or another host. Steps, DNS and the usual pitfalls.
The short version
A Lovable project is ordinary code, usually a React app built with Vite. You can keep it on Lovable and point your domain there, or take the code to any host that can build it, ProHostiva included. If your app uses Lovable Cloud or Supabase for its database, sign-in or files, that part stays where it is: you're only choosing where the website itself is served from.
| Option | Good for | What to know |
|---|---|---|
| Lovable's own domains | Staying inside Lovable, with the fewest steps | Publishing to a free lovable.app address works on every plan; your own domain needs a paid Lovable plan. Hosting stays tied to your Lovable project. |
| ProHostiva | Hosting that's separate from the editor, and help if you're not technical | A paid plan. We check your project for free first, and can publish it and connect your domain for you. |
| Another host (Netlify, Vercel, Cloudflare Pages…) | Developers happy to set up a build themselves | Most have free tiers (read their terms for commercial use). You set the build, the environment variables, page-refresh routing and DNS yourself. |
Not sure your project is ready?
Option 1: keep it on Lovable
If you're happy with Lovable's hosting, this is the shortest path, and a perfectly good choice. Publish your project in Lovable, open the project's domain settings and connect your domain. Lovable then shows the DNS records to add at your domain provider. Their own documentation has the current steps and records.
With Lovable Cloud, sign-in keeps working without extra steps: connecting a domain in Lovable adds it to the allowed sign-in addresses for you. (If you use your own Google sign-in credentials, also add the domain as an authorised redirect URI in Google Cloud Console.)
Reasons people move away from it: they want hosting that doesn't depend on their editor subscription, a server-side part Lovable doesn't host, more control over deployments, or a person to call when something breaks. If none of those apply to you, there's no need to move.
Option 2: host it on ProHostiva
1. Connect your Lovable project to GitHub
Use Lovable's GitHub integration to connect the project. Lovable creates a repository on your GitHub account and keeps it in sync both ways: what you change in Lovable is pushed to GitHub. GitHub is also the dependable way to get the code out of Lovable: from the repository you can download a ZIP if you prefer to deploy from a ZIP.
2. Check it (free)
Paste the repository's address into Check my project (for a private repository, download it from GitHub as a ZIP and upload that). Most Lovable projects come back ready or close to it. See the readiness check for how to read the report.
About the .env warning
.env file holding your Supabase URL and its publishable (anon) key, and the check flags every .env with values. Those two values are designed to be public: they end up in the browser anyway. Anything else in that file, such as a service-role key or another service's secret key, is a real leak: remove it from the repository, create a new key, and set it on the host instead.3. Create the website and publish
Start a new website
In your dashboard, click Host a website, choose GitHub repository and connect GitHub. See Deploying from GitHub for the details.
Pick the Lovable repository
We recognise it as a Vite app (and say it was made with Lovable). The defaults are right for almost every Lovable project: no settings to change.
Add environment variables, if needed
If the repository has no
.env, add the names your code expects under Developer settings → Environment variables: usuallyVITE_SUPABASE_URLandVITE_SUPABASE_PUBLISHABLE_KEY(orVITE_SUPABASE_ANON_KEY). Values you set here override the ones in a committed.env.Publish
Name the website, choose its address and click Publish website. A couple of minutes later it's online at
yourname.prohostiva.com. Open it and click around before you move your domain.
4. Connect your domain
Go to Domains in your dashboard, add your domain and choose the website. We show two DNS records with copy buttons: a TXT record that proves the domain is yours, and an A record (or a CNAME for www) that points it at ProHostiva. Add them where you manage your domain's DNS, click Verify DNS, and HTTPS is set up automatically. The full walkthrough is in Connecting your own domain.
5. Updating the site later
Keep editing in Lovable as before. Your changes reach GitHub on their own; when you want them online, click Publish latest version on the website's page. Nothing goes live until you click, and if a new version fails to build, the current one stays online.
Rather we did it?
Option 3: another host
Any host that builds Node.js projects can serve a Lovable app. The settings are the same everywhere:
| Setting | Value for a typical Lovable project |
|---|---|
| Source | The GitHub repository Lovable created |
| Build command | npm run build |
| Output folder | dist |
| Environment variables | Every VITE_ name your code reads, such as VITE_SUPABASE_URL |
| Page-refresh routing | Send unknown paths to index.html, or refreshing any page other than the home page shows a 404 |
Then add your domain in the host's dashboard and create the DNS records it shows you. ProHostiva does the build detection, the page-refresh routing and HTTPS for you; elsewhere, check each one yourself.
Before you point your domain at the new host
- Add the new domain to your sign-in settings. Lovable only adds domains you connect inside Lovable, so a domain that points at another host has to be added by hand. With Lovable Cloud: More → Cloud → Users → Auth settings → Advanced; with your own Supabase project: Authentication → URL Configuration. Add your domain to Redirect URLs and set it as the Site URL (which otherwise stays your
lovable.appaddress). Without this, sign-in emails and links send people back to the old address. - Using your own Google sign-in credentials? Add the domain as an authorised redirect URI in Google Cloud Console, then select it in Lovable's Google sign-in settings. Other sign-in providers with their own credentials may keep a similar list.
- Disconnect the domain from Lovable if it was connected there, and delete Lovable's old DNS records. Two sets of records for the same name send some visitors to the old site.
- Leave your database where it is. Lovable Cloud or Supabase keeps serving your data, sign-in and backend functions; nothing needs to be migrated to change where the website is hosted.
Common problems
- A blank page after deploying: almost always a missing
VITE_variable. Add it and deploy again: these values are built into the page, so a new deployment is needed. - Sign-in sends people to lovable.app: the Site URL and Redirect URLs above still point there. Add your domain and try again.
- 404 when refreshing a page (on other hosts): the page-refresh routing isn't set up. ProHostiva handles this for you.
- The domain won't verify: new DNS records can take up to 48 hours, and on Cloudflare the record must be DNS only (grey cloud). See Troubleshooting.
- Newer Lovable projects built on TanStack Start are recognised, but aren't yet in our end-to-end tested list (see Supported frameworks). Run the free check first; if yours doesn't deploy, email us and we'll help.