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

# Recommended defaults

> A complete floo.app.toml with the defaults floo recommends for a web app with Postgres, and when to change each one.

This is the file `floo projects create` writes, with every runtime default
spelled out. Copy it, rename the app, and change only the lines your app needs.

```toml theme={null}
[app]
name = "my-app"
# Pages need a signed-in, invited user. Use "public" for a site anyone can open.
access_mode = "accounts"

# Pages sit behind sign-in; /api takes an app API key with the "api" scope.
[[routes]]
path = "/"
access = "accounts"
service = "web"

[[routes]]
path = "/api"
access = "api_key"
scope = "api"
service = "web"

[services.web]
type = "web"
path = "."
port = 3000
# Runs once per deploy before traffic moves. A failure stops the deploy and the
# previous version keeps serving. Never migrate in the start command: every cold
# start would wait on it.
migrate_command = "node_modules/.bin/tsx scripts/migrate.ts"
# 0 bills only while serving requests. floo pings the app every five minutes so it
# stays running and does not cold-start between visits (Postgres still pauses after
# 5 idle minutes). Set 1 to reserve an instance; it is billed while idle.
min_instances = 0
# Instances floo may start under load.
max_instances = 3
# floo's default size for each instance.
cpu = "1"
memory = "512Mi"

# Postgres managed by floo. The default resource injects DATABASE_URL.
[managed.default]
type = "postgres"
```

## When to change a default

| Setting | Default | Change it when |
| - | - | - |
| `access_mode` | `accounts` | The app is a public site: set `public`. |
| `migrate_command` | your migration command | Your app has no database: remove it. |
| `min_instances` | `0` | Scale-out or an instance replacement must never wait for a cold start: set `1`. It applies to every environment, dev included. See [Cold starts](https://getfloo.com/docs/guides/cold-starts.md). |
| `max_instances` | `3` | Sustained traffic queues behind three instances: raise it. |
| `cpu`, `memory` | `"1"`, `"512Mi"` | The app runs out of memory or its requests are CPU-bound: see [CPU and memory values](https://getfloo.com/docs/reference/config-spec.md#cpu-and-memory-values). |

Every field and its precedence is in the [config file spec](https://getfloo.com/docs/reference/config-spec.md).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.