> ## Documentation Index
> Fetch the complete documentation index at: https://docs.nometria.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Bolt → AWS

> Move your Bolt app from WebContainer to a real AWS production deployment.

Bolt runs your app in a WebContainer in the browser — great for prototyping, but not a production environment. This guide moves it to a real EC2 instance with your own domain and database.

## What gets migrated

* React, Next.js, or Vite project source
* Backend (Node.js/Express, if present)
* Environment variables
* Static assets

## Prerequisites

* An Nometria account
* The [Nometria Chrome Extension](https://nometria.com/extension) or a ZIP export from Bolt
* A database account (Supabase recommended)

## Step 1 — Export from Bolt

<Tabs>
  <Tab title="Via Chrome Extension (recommended)">
    1. Install the Nometria Chrome Extension
    2. Open your Bolt project
    3. Click the extension icon → **Export to Nometria**

    The extension captures the current file tree from Bolt's WebContainer.
  </Tab>

  <Tab title="Via ZIP export">
    1. In Bolt, open the project menu (⋯ in the top right)
    2. Click **Download Project**
    3. Save the ZIP file
    4. Go to [nometria.com/dashboard](https://nometria.com/dashboard) → **New Migration** → **Upload ZIP**
  </Tab>
</Tabs>

## Step 2 — Configure

<Steps>
  <Step title="Verify framework detection">
    Nometria detects your framework. Common Bolt stacks:

    * React + Vite (most common)
    * Next.js
    * React + Express (full-stack)

    If your app has both a frontend and a backend, Nometria deploys both on the same EC2 instance with nginx proxying `/api` routes to your backend.
  </Step>

  <Step title="Set environment variables">
    Bolt doesn't persist environment variables between sessions, so you'll need to re-enter them:

    ```bash theme={null}
    # If using Supabase
    VITE_SUPABASE_URL=https://xxxxxxxxxxxx.supabase.co
    VITE_SUPABASE_ANON_KEY=eyJ...

    # If using another database
    DATABASE_URL=postgresql://...
    ```
  </Step>

  <Step title="Database">
    Bolt projects often use a database that was set up during the session. If you haven't set up a permanent database yet:

    1. Select **Create new Supabase project** in Nometria
    2. Nometria provisions Supabase and injects credentials automatically
    3. You'll need to set up your schema — if Bolt generated schema SQL, add it as a seed file
  </Step>

  <Step title="Domain and region">
    Set your custom domain or use the staging URL.
  </Step>
</Steps>

## Step 3 — Deploy

Click **Deploy** and watch the build logs. For full-stack projects (frontend + backend), Nometria deploys both services and configures nginx automatically.

## Step 4 — Keep building in Bolt

Enable the Chrome Extension for ongoing sync. While Bolt's WebContainer isn't a traditional builder (it runs a full dev environment), the extension captures your exported code on demand:

1. Continue building in Bolt
2. When you're ready to sync changes to production, click **Sync to Nometria** in the extension
3. The extension packages and pushes the current state to `builder/latest`
4. Review the PR and merge to deploy

## Post-migration checklist

* [ ] App loads at your live URL
* [ ] API routes respond correctly (for full-stack apps)
* [ ] Database connected and queries working
* [ ] Environment variables confirmed (no missing keys)
* [ ] SSL active
