Skip to content
Cloudzyro

Lovable hosting: deploy your Lovable app

Built an app with Lovable? Send its code to GitHub and Cloudzyro puts every change online, or upload a zip. Add your own domain free.

Last updated

Through GitHubLovable sends your code to a GitHub repository, and every change goes live by itself.
Or upload a zipDownload your project and upload it in the console. We build it for you.

How to deploy your Lovable app

Create your free Cloudzyro account, then bring your Lovable project over one of two ways.

Through GitHub (updates go live by themselves)

  1. 1

    In Lovable, open Project settings, then Git, then GitHub, and connect. Lovable makes a new private repository and keeps it in sync both ways.

  2. 2

    On the Cloudzyro console's Home page, under Import from a repository, choose GitHub, then pick that repository and its branch.

    Read the Git guide
  3. 3

    Every change Lovable pushes to the repository goes live by itself.

Download a zip

  1. 1

    In Lovable, open Project settings, then Git, and download the codebase as a zip (Lovable's paid plans).

  2. 2

    In the Cloudzyro console, create a site and upload the zip. We leave out node_modules and build it for you.

    Read the upload guide
On this page

Why host your Lovable app on Cloudzyro

Lovable is where you build. Cloudzyro is where your app lives once it's ready, with your code in your own repository:

  • Every version kept. Each push or upload becomes a version you can restore in one click (5 on Launch, 10 on Boost) or download. See Versions.
  • Never asleep. Sites never sleep, on the free plan too.
  • Free for business. Launch is free, and you can use it for a business.
  • Your own domain, free. Custom domains cost nothing extra on any plan.
  • No per-seat charges. Invite your team free.
  • Slowed, never cut off. A site over its monthly traffic is slowed for the rest of the month, never taken offline or charged extra.

What we build from your Lovable project

Lovable builds React apps with Vite, so your project has a package.json with a build script. We run the build and serve the files it makes. We look at the top of your project to work out what it is:

  • An index.html goes online as it is. See HTML sites.
  • A package.json with a build script, like a Vite or React app, is built and the files it makes are served.
  • A Node.js app with a start script, including Next.js, runs on Node 24, or the version in engines.node or .nvmrc.

With a zip, upload the folder that holds index.html or package.json, not the folder above it. Launch takes uploads up to 100 MB and 20,000 files; Boost up to 1 GB and 50,000. See Upload files.

How updates go live through GitHub

Once the repository is connected to your site, every push to its branch becomes a new version: we build it, check it starts, and switch over. Your current version stays online until the new one is ready, so a broken change never replaces a working site. Lovable keeps the repository in sync both ways, so keep building in Lovable and its changes go live by themselves.

To hold changes back for a while, open the site's Settings and select Pause automatic deploys. GitLab, Bitbucket and any Git address work too. See Deploy from Git.

Environment variables: VITE_ values

Lovable apps built with Vite read settings whose names start with VITE_, such as VITE_SUPABASE_URL. Vite writes their values into your app's JavaScript when it builds, so two things follow:

  • Add them before you deploy. Put them on your site's Environment variables tab (you can paste a whole .env file). If you change one later, select Deploy now to build again.
  • Only public values belong there. Anything in a VITE_ variable ends up in the browser, where anyone can read it. A Supabase URL and anon (publishable) key are fine. A service role key or any other secret is not.

If a zip you upload has a .env file, we leave the file out and offer to add its values for you. See Set environment variables.

Connect a database

Sites on Cloudzyro have no permanent disk: files a site writes while it runs are cleared with each new version. So if your site keeps anything, like sign-ups, orders or bookings, keep it in a database such as Supabase or Neon.

On your site's Database tab, select Connect Supabase, sign in to Supabase and choose the project. We fill in the settings your code reads, test them and deploy. Or paste a connection string from Neon or any other provider. See Connect Supabase or Connect a database.

Lovable custom domain

Every site gets a free address at <name>.cloudzyro.app, and you can add your own domain free on every plan. Add it once in the console:

  1. Open your site's Domains tab and add the address visitors will use, such as www.example.com.
  2. At your DNS provider, add a CNAME record for www pointing to domains.cloudzyro.app.
  3. For the bare domain (example.com), add an A record pointing to 173.234.137.167. It sends visitors to www over HTTPS.
  4. Wait for the domain to show Live. Certificates are automatic.

If your DNS is at Cloudflare, set the record to DNS only (the gray cloud). Point a domain at your site walks through it, and Connect a custom domain covers the details.

If a deploy fails

Your live site keeps running the previous version, and the deploy page says what went wrong in plain words, with the last lines of the build log and a fix. Select Ask your AI to fix it to copy a ready-made message you can paste into any AI tool. The usual causes:

  • The app loads but can't reach Supabase. Usually a VITE_ value that wasn't set when the app was built. Add it on the Environment variables tab and select Deploy now.
  • Missing files. We need an index.html or a package.json at the top of what you sent. A zip that holds one folder with everything inside is a common cause.
  • Crashed on start. Often a missing environment variable or a database it can't reach. Add it on the Environment variables tab, then select Deploy now.

Fix a failed deploy explains every reason. Still stuck? Use Get help in the console or email support@cloudzyro.com.

What it costs

Every site starts on Launch, which is free and allows business use, with 100 GB of traffic a month. Boost is $20 a month per site plus tax, with more memory and CPU, priority builds, 10 versions to restore and 1 TB of traffic. Team members are free on every plan. See pricing.

Keep reading

Questions about Lovable and Cloudzyro

My Lovable app uses Supabase. What do I set?
Add the VITE_SUPABASE_ values from your project's .env file on your site's Environment variables tab before you deploy. Vite builds them into your app, so deploy again after you change them.
Can I use a custom domain with my Lovable app?
Yes, free on every plan. Add it on your site's Domains tab, then point www at domains.cloudzyro.app with a CNAME record. Certificates are automatic.
Can I keep editing in Lovable?
Yes. Lovable keeps the GitHub repository in sync both ways, so changes you make in Lovable are pushed and go live by themselves.
Does it cost anything?
Cloudzyro's Launch plan is free, business use included. You only pay if you move a site to Boost.
Do changes I make in Lovable go live by themselves?
Yes, through GitHub. Once the repository is connected, every change Lovable pushes to its branch becomes a new version. With a zip, upload the new one yourself.
Where do my keys go, like Supabase's?
In the console, on your site's Environment variables tab. Never put keys in your code or a zip.
Does my site sleep when it's quiet?
No. Sites never sleep, on the free plan too.

Put your Lovable app online free

Free to start, free for business, with every version kept.