For apps built with Lovable, Bolt and v0

Host your Lovable, Bolt or v0 app

You built it in an afternoon. Now put it somewhere you control: your own domain, your own bill, in EU data centres. Paste your GitHub link, paste your .env, and it's live, with the values your app needs when it builds already in place.

Public repositories deploy straight from the link. Private one? Use the CLI from your project folder.

Free to start, no card No Dockerfile EU data centres
Why it goes blank elsewhere

It built fine. It just can't find its backend.

Apps from AI builders are usually a Vite or Next.js front end. Both copy some settings into the JavaScript while they build: anything starting VITE_ or NEXT_PUBLIC_, like your Supabase URL or your API address.

Most hosts only hand your app its environment variables once it's running, which is too late. The build succeeds, the page loads, and every request goes to undefined. On velixir those values are passed to the build, so the app you deploy is the app you previewed.

# your .env
VITE_SUPABASE_URL=https://abc.supabase.co
VITE_SUPABASE_ANON_KEY=eyJhbGciOi…
Keys starting VITE_, NEXT_PUBLIC_ and the like are used at build automatically. Everything else is set when your app runs.
How it works

Three steps, about two minutes.

1

Connect the repository

Sync your project to GitHub from your AI builder, then paste the repository link above. velixir fetches it and works out how to build it, with no Dockerfile.

2

Paste your .env

The deploy form has a box for your environment variables. They're saved before the first build, so your VITE_ and NEXT_PUBLIC_ values are there when it runs.

3

It's live

You get a velixir.run address straight away. Add your own domain whenever you like, with HTTPS set up for you.

Lovable, Bolt, v0

Whichever tool you used

Lovable and Bolt: Vite and React

Built and served as a fast static site, no server code needed. Links straight to a page inside your app (/dashboard, /settings) work, because every unknown path falls back to your app for its router to handle. A static front end is light enough for the Free plan.

v0: Next.js

Runs as a Next.js server, so server components, API routes and server actions work as they did in the preview. Small apps run on Free; give a busier one a paid plan so it never sleeps.

Your backend stays where it is

If your app talks to Supabase, keep using it: only the front end moves. If you'd rather run the database yourself, add managed Postgres in the same project, in the EU.

Before you deploy anywhere

Public keys in the build, secret keys never

A value used at build ends up in the JavaScript every visitor downloads. That's fine for the values these frameworks are designed to expose: a Supabase project URL and its anon key are meant to be public, and your data is protected by row-level security.

A Supabase service role key, a Stripe secret key or an OpenAI key is different. If your AI builder put one in a VITE_ variable, move it to server code before you deploy. velixir won't let a secret be used at build, so marking it secret keeps it out of the browser.

Questions

Why does my exported app show a blank page on other hosts?

Vite and Next.js copy VITE_ and NEXT_PUBLIC_ values into your JavaScript while they build. Most hosts only provide environment variables once the app is running, so the build has nothing to copy. velixir passes those values to the build, so they're there.

Do I need a Dockerfile or any config?

No. velixir reads your project, sees it's a Vite or Next.js app, and builds it. A Vite app with React, Vue, Svelte, Preact, Solid or Lit is served as a static site; a Next.js app runs with next start.

My GitHub repository is private. Can I still deploy it?

Yes, with the velixir CLI from your project folder: run velixir init, then velixir deploy, and add your variables with velixir env import .env. Deploying straight from a link works for public repositories.

I changed a VITE_ value and nothing happened. Why?

Values used at build are inside the built app, so a restart keeps the old ones. When they change, the Environment tab offers Rebuild now, which builds your app again with the new values. From the CLI, run velixir rebuild.

Will client-side routes like /dashboard work?

Yes. For a Vite app, any path that isn't a file falls back to your index.html, so your app's router handles it, including when someone opens or refreshes a deep link.

Is it free?

You can start free, with no card. The Free plan runs one app that sleeps when nobody's using it and wakes on the next visit, which suits a static front end. Paid plans that never sleep start at €3.49 a month.

Can I use my own domain?

Yes. Add it on your app's Domains tab and point your DNS at velixir. HTTPS certificates are issued and renewed for you.

Deploy your app

Want the long version? Read the guide or the build variables docs.