---
title: "Deploy a Bolt app outside Bolt with while.sh"
url: https://while.sh/en/guides/deploy-bolt-app/
author: "Aloïs Oddon, co-founder of Nextmap"
updated: 2026-11-02
---

# Deploy a Bolt app outside Bolt from your AI agent, over MCP

Your Bolt app works, and it's time to put it to real use. Your AI agent takes it over from GitHub and, connected to while over MCP, deploys it in France. You choose who can open it.

## Prerequisites

- A Bolt app, synced with GitHub (source 1). Your agent clones the repository onto your computer.
- An AI agent that works in a terminal: Claude Code, Codex, Cursor or Gemini CLI.

## Step 1: Give your agent these instructions

Open your agent in your app's folder, and paste these instructions into it:

```text titre="Instructions"
Connect to while with my account (while.sh/agents), then deploy my app.
```

Without an account, your agent deploys your app as a trial, in one request. To keep it, open the link it gives you and create your account.

With your account, your agent adds while's MCP server itself. If it asks you to, restart it. On the first call to while, a page opens in your browser. In Claude Code, if it doesn't open, type /mcp, choose while, then Authenticate. On that page, choose your app, or "A new app", then click Authorize.

## Step 2: Open your app

Your agent gives you your app's address, for example `https://mon-appli.while.cloud`, over HTTPS.

## What your agent does

It writes while.yaml at the root of your app:

```yaml titre="while.yaml"
apiVersion: while/v1
project: mon-appli
services:
  - name: web
    type: static
    root: dist
    build:
      args:
        VITE_SUPABASE_URL: https://abcdefgh.supabase.co
        VITE_SUPABASE_PUBLISHABLE_KEY: eyJhbGciOi…
```

Your app is built with Vite at every deployment, then the `dist` folder is served, with an HTTP cache. Supabase's address and public key are passed in at build time, where Vite reads them (sources 4 and 3). Along the way, your agent renames the key to `VITE_SUPABASE_PUBLISHABLE_KEY`, in your code and in `.env`: a name ending in `_KEY` could hide a secret, and `PUBLISHABLE` says it is public. Your pages, like `/dashboard`, also open from a link or after a reload.

## Share with a customer, protected by a password

> You, to your agent: Open the app to our customer, with a password.

Your agent makes the app private. Then, on the app's page in while, you create a link that lasts 1, 7 or 30 days, with a password your agent will never see.

## Restrict your app to your colleagues

> You, to your agent: Restrict the app to people in the company.

Your agent adds two lines to the service:

```yaml titre="while.yaml"
    access: internal
    email_domains: [acme.com]
```

Once your Google Workspace or Microsoft 365 is linked to while, on the Pro plan, your colleagues open it with their usual account, with no sign-in page to write.

## Move to your own domain

> You, to your agent: Put the app on app.acme.com.

Your agent declares the domain, you add the DNS records it gives you, and the HTTPS certificate follows.

## Bring your data back to France

> You, to your agent: Move our tables into a while PostgreSQL database.

Your agent declares a PostgreSQL database, backed up every day, copies your tables into it, and writes the small API that serves them to your app.

## See a new version before you deploy it

> You, to your agent: Show me the new version before you deploy it.

Your agent opens a preview, at its own address. If your database is in while, the preview also has its own data. You look at it, and then your agent puts it into production.

## Go back to the previous version

> You, to your agent: Go back to the previous version.

In the 30 minutes after a deployment, the previous version comes back in a second. After that, it takes a few seconds. Once the previous version is back, your agent reads what broke in while's logs, fixes it and deploys again.

## Next steps

- [Deploy a React app built with Vite](/en/guides/deploy-vite-react/)
- [Deploy a Lovable app outside Lovable](/en/guides/deploy-lovable-app/)
- [Where to deploy an app built with Lovable, Bolt or v0](/en/comparisons/vibe-coded-app-hosting/)

## Sources

1. [Bolt, GitHub sync](https://support.bolt.new/integrations/git), 2026-11-02
2. [Bolt, the Supabase integration](https://support.bolt.new/integrations/supabase), 2026-11-02
3. [Vite, environment variables (VITE_)](https://vite.dev/guide/env-and-mode), 2026-11-02
4. [Bolt, databases](https://support.bolt.new/reference/intro-databases), 2026-11-02

## Questions

### Can I keep editing my app in Bolt?

Yes. Bolt and your GitHub repository stay in sync (source 1), and your agent deploys the latest version again whenever you ask it to.

### What about my database?

Your app keeps its database. To have everything in France, your agent moves your tables into a while PostgreSQL database.

### Can I put the app on my own domain?

Yes, and with no badge: your agent declares the domain, and the HTTPS certificate follows.

### Where is my app hosted?

In France, by Nextmap, a French company.
