# Fly.io — run Noctra as an always-on worker (no public ports). # # fly apps create noctra # pick your own app name (edit `app` below) # fly volumes create noctra_data --size 1 --region iad # fly secrets set LINEAR_API_KEY=... AGENT_BACKEND=claude \ # ANTHROPIC_API_KEY=... GH_TOKEN=... # fly deploy # # Secrets become env vars in the container. Repos are declared per-project in # Linear (a `Repo: owner/name` line in the project description) — nothing to # mount or configure here. Use HTTPS URLs / owner-name so GH_TOKEN works. app = "noctra" primary_region = "iad" [build] image = "ghcr.io/onelastcommit/noctra:latest" # Persists the repos cache, worktrees, logs, and PR cursor across restarts. [[mounts]] source = "noctra_data" destination = "/data" [[vm]] cpu_kind = "shared" cpus = 1 memory = "1gb"