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

# Self-host Bento

> Set up a public Bento release with your own Supabase, Cloudflare, and provider accounts.

Self-hosting is for operators who are comfortable owning a web application, database, migrations, secrets, queues, storage, domains, and third-party provider approvals.

Before deploying, inspect the repository's `docs/upstream-source.json`. It records the hosted source snapshot used for that public release; hosted features shipped later may not be present yet.

## Start locally

<Steps>
  <Step title="Clone the public repository">
    ```sh theme={null}
    git clone https://github.com/bizibeast/bento-surf-open-source.git
    cd bento-surf-open-source
    bun install
    ```
  </Step>

  <Step title="Create your environment file">
    ```sh theme={null}
    cp .env.example .env
    ```

    Add the core URLs and credentials for a Supabase project you control. Keep real secrets out of
    Git.
  </Step>

  <Step title="Apply guarded database migrations">
    Set `SUPABASE_PROJECT_ID`, `SUPABASE_DB_URL`, and
    `MIGRATION_CONFIRMATION=MIGRATE:<SUPABASE_PROJECT_ID>`, then run:

    ```sh theme={null}
    bun scripts/migrate-supabase.ts --dry-run
    bun scripts/migrate-supabase.ts
    ```
  </Step>

  <Step title="Run local checks">
    ```sh theme={null}
    bun run dev
    bun run check
    ```
  </Step>
</Steps>

## Add only the providers you need

Optional email, payment, social, calendar, analytics, AI, and media features stay unavailable until you supply your own credentials and complete each provider's setup. Missing providers fail closed; the open-source edition does not fall back to Bento-owned accounts.

## Deploy and verify

Use the repository's current [Cloudflare guide](https://github.com/bizibeast/bento-surf-open-source/blob/main/docs/cloudflare.md), [configuration reference](https://github.com/bizibeast/bento-surf-open-source/blob/main/docs/configuration.md), and [verification boundary](https://github.com/bizibeast/bento-surf-open-source/blob/main/docs/verification.md).

A compatible coding agent can also follow [`skills/deploy-bento/SKILL.md`](https://github.com/bizibeast/bento-surf-open-source/blob/main/skills/deploy-bento/SKILL.md). You remain in control of paid resources, secrets, domain changes, OAuth consent, provider review, and live publishing.

<Warning>
  Do not call an instance production-ready until you have tested a fresh migration, two-tenant data
  isolation, customer checkout and fulfilment, email delivery, provider callbacks, MCP
  authorization, and browser WebMCP on the exact domains you will use.
</Warning>
