Skip to main content
Requires a project directory with source code and a GitHub repository; floo init writes a Dockerfile if you do not have one. For your own GitHub repository, install the GitHub App, link that installation to your floo organization, then connect the repository to deploy. The browser steps are below. For a floo-hosted repository without your own GitHub account, use the hosted-project setup.

With your agent

Paste into Claude Code, Cursor, or any agent in your project.
Connect deploys the commit you pushed. Every push after that deploys automatically.

Yourself

1. Sign in to floo

Complete sign-in in the browser, then return to your terminal. If you belong to multiple floo organizations, select the one that should own this app before linking GitHub. Replace acme with your organization slug:

2. Give floo access to your GitHub repository

Open Install the floo GitHub App.
  1. Choose the GitHub account or organization that owns the repository. For acme/storefront, choose acme. Installing on your personal account does not grant access to acme’s repositories.
  2. Under Repository access, choose Only select repositories and select the repository you want to deploy. If the App is already installed, update its repository access to include this repo.
  3. Install or save. If GitHub requires organization-owner approval, wait for approval before continuing.
Return to your terminal and run:
In the browser it opens, authorize floo with the GitHub login that can access that installation. If floo asks you to choose a GitHub account, select the repository’s owner. Wait for GitHub access confirmed, then return to your terminal. The CLI reports Linked the floo GitHub App to your org. This step links the installation to the floo organization selected in step 1. It does not deploy your app. If the browser does not open, run floo apps github setup --no-browser and open the printed link. An expired link needs a fresh setup command. You do not need to uninstall the GitHub App to retry.

4. Prepare and push the app

From your project directory:
Edit the generated floo.app.toml to declare your services, ports, and managed services. See Configuration. App names are lowercase and hyphenated.
Push the configuration before connecting. The first deploy reads the commit already on GitHub.

5. Connect the repository and verify the deploy

Replace owner/my-project with the repository you selected in step 2:
connect creates the app and starts its first deploy. Check that github status names the intended repository and branch, then that deploys status reports a live deploy before opening its URL. GitHub setup confirmation alone does not mean the app is live. Every later push to the connected branch deploys to dev. When you are ready to publish to production, run floo releases promote --app my-app.

If GitHub setup stops

For command flags and connection details, see the GitHub reference.
Do not bind a route to /healthz; floo reserves that path, so use /health or /livez (see the container contract).

Next

CLI commands

Env vars, databases, domains, rollbacks, and debugging a failed deploy.

How floo works

Config in the repo, deploys from GitHub, the CLI as the operating surface.

Build with your stack

End-to-end guides for Next.js, Rails, FastAPI, Django, and Express.