fabro/fly.toml
Bryan Helmkamp 484a3dbc39
feat(fly): add fly.toml and full deploy guide
fly.toml points Fly directly at ghcr.io/fabro-sh/fabro:nightly (no
builder step), pins internal_port to 32276 since Fly does not inject
$PORT, declares a Volume mount at /storage, and disables autostop so
the run queue stays live under no HTTP traffic.

Replaces the deploy-fly-io.mdx stub with a CLI-first walkthrough
covering volume creation, secrets, dev token retrieval, and the
single-Machine / single-Volume caveats that apply to Fabro.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-18 16:15:13 -04:00

35 lines
996 B
TOML

# Fly.io deployment config for the Fabro server.
#
# Pulls the multi-arch image published to GHCR instead of building from
# source on every deploy. Persists state to a Fly Volume mounted at
# /storage. The Fabro binary binds to $PORT or 32276, so matching
# internal_port to 32276 avoids needing to wire PORT as a secret.
#
# First-time setup:
# fly launch --copy-config --no-deploy # adopts this file; sets app name/region
# fly volumes create storage --size 1 # required — fly.toml cannot create volumes
# fly secrets set ANTHROPIC_API_KEY=... SESSION_SECRET=...
# fly deploy
app = "fabro"
primary_region = "ord"
[build]
image = "ghcr.io/fabro-sh/fabro:nightly"
[[mounts]]
source = "storage"
destination = "/storage"
[http_service]
internal_port = 32276
force_https = true
auto_stop_machines = "off"
auto_start_machines = false
[[http_service.checks]]
path = "/health"
method = "GET"
interval = "30s"
timeout = "5s"
grace_period = "10s"