# PaaS Deployment (Fly.io / Railway / Render)

Flynn can run on common PaaS platforms using the repo `Dockerfile`.

Key requirements:

- Bind on all interfaces: set `server.localhost: false`.
- Use the platform port: Flynn supports `PORT` env override (it overrides `server.port`).

This repo includes a PaaS-friendly config template at `config/paas.yaml`.

## Fly.io

Template: `deploy/flyio/fly.toml`

```bash
# Create app
fly apps create

# Create persistent data volume (sessions + memory)
fly volumes create flynn_data --size 1

# Set required secrets
fly secrets set ANTHROPIC_API_KEY=sk-ant-...

# Deploy
fly deploy -c deploy/flyio/fly.toml
```

Notes:

- The Docker image ships a default config at `/config/config.yaml` (from `config/paas.yaml`).
- If you want to supply your own config, set `FLYNN_CONFIG` to your path or mount a file at `/config/config.yaml`.

## Railway

Railway can deploy directly from this repo using the `Dockerfile`.

Checklist:

- Add env var `ANTHROPIC_API_KEY`.
- Ensure your config binds externally (`server.localhost: false`) or use the baked-in `config/paas.yaml`.

Optional template: `deploy/railway/railway.toml`

## Render

Render can deploy directly from this repo using the `Dockerfile`.

Checklist:

- Add env var `ANTHROPIC_API_KEY`.
- Ensure your config binds externally (`server.localhost: false`) or use the baked-in `config/paas.yaml`.

Optional blueprint: `deploy/render/render.yaml`

