Self-hosting

Export your code and database and run your Floot app on your own infrastructure.

You own your Floot app's code and data. If you want to host it yourself, you can export the code and the database and deploy them wherever you like.

Code download is checked against your own plan

Choosing Get Code on a free account opens the upgrade dialog instead of the zip. The check is against the account you are signed in as, not the project owner's — so on a project someone shared with you, you need a paid plan of your own even when the owner has one.

Exporting happens in your browser

The zip is built in the browser, so there is no export tool over MCP — you cannot ask your AI assistant to produce it. Open the project on floot.com and use the project name dropdown in the top-left. From an MCP client the closest equivalents are read_files for source and pull_database_schema / query_database for the database.

When to self-host

  • You need to meet specific compliance or data residency requirements
  • You want full control over your infrastructure
  • You are migrating away from Floot
  • You need to run the app in an air-gapped environment

What you can export

AssetHow to export
CodeProject name dropdown → Get Code (paid plan required)
DatabaseServices tab → Data → Floot database → cog icon → Export → Download Database (pg_dump, any plan)

That is the whole export. The code zip is your source, not a complete copy of the running app, so plan for four things that do not travel with it:

  • Your API keys. env.json lists the variables your app expects but leaves each secret as ... fill this up ... — you supply the values.
  • Images and files in Floot's storage. Anything from generate_image or upload_asset lives in the project's hosted storage and is served from the app's own domain, so the exported code still points at URLs you no longer host. Re-upload those files to your own storage and update the paths.
  • **The built-in @floot/* services.** See the table below — these are a hard build break, not a missing extra.
  • Example documents. The .example.tsx and .__example.tsx files (and their stylesheets) that sit beside components and pages are development-only and are skipped by the zip. Nothing that ships depends on them.

How to self-host

  1. 1

    Export your code

    Open your project on floot.com, click the project name dropdown, choose Get Code, and download the zip. The zip is built in your browser, so give it a moment on a large project.

  2. 2

    Export your database

    Open the Services tab, click Data, select Floot database and open a table, then click the cog icon in the table header and choose Export → Download Database to get the pg_dump file.

  3. 3

    Set up your own database

    Restore the pg_dump into a PostgreSQL database you control, then note its connection string. Managed options like Supabase, Neon, AWS RDS, or Railway all work.

  4. 4

    Configure environment variables

    The exported code includes an env.json file. For security it is not pre-populated — you supply the values.

    JWT secrets — generate one with:

    node -e "console.log(require('crypto').randomBytes(32).toString('hex'))"

    Database connection — fill in your own PostgreSQL connection string. Floot's database is not reachable from self-hosted environments.

    External services — paste in the API keys for any third-party services your app uses.

  5. 5

    Build and run

    The export is a Node.js application:

    npm install -g pnpm
    pnpm install
    pnpm vite build
    pnpm tsx server.ts

    Adjust freely to fit your own framework or deployment target.

Floot-managed services

Some built-in services are injected by Floot's build and are not included in the export. Any @floot/* import left in your code will fail to resolve, so the exported project does not build until you replace them — this is a hard build break, not a degraded feature. Migrate off these before you export: ask your AI assistant to do it while the project is still on Floot, then export.

ServiceWhat to do instead
Floot OAuthConfigure your own auth provider
Floot StorageMigrate to an object storage provider like Cloudflare R2, S3, or Cloudinary
Floot AIUse your own API key with the AI provider of your choice
Floot RealtimeUse a pub/sub service (Pusher, Ably, Redis pub/sub) or drop the feature
Floot EmailPoint the app at your own provider — Resend, SendGrid, Postmark, SES
Scheduled & background jobsRun them with your platform's scheduler (cron, EventBridge, a queue worker)
Floot PushGenerate your own VAPID keypair and send notifications with a web-push library — Floot mints the keypair for you and it does not travel with the export
Floot runCodeRun the code in your own sandbox or worker process
Google and Microsoft integrationsRegister your own OAuth app with each provider and manage the tokens yourself
Microsoft loginConfigure your own Entra ID app registration

Things to consider

API keys
You will need to set up your own keys for every third-party service.
Updates
Self-hosted apps do not receive updates from Floot. Maintaining the code is on you.
Support
Floot support covers the Floot platform, not self-hosted deployments.