[← All integrations](/getting-started) Install · Verified # fly.io static shell flyctl picks up the canonical Dockerfile automatically. Just a small fly.toml and \`fly secrets set AGENTSITE\_TOKEN=...\` to deploy. **Start here first.** Every platform recipe below assumes the canonical Express + Docker install at [/install/express-docker](/install/express-docker). The snippets on this page are the platform-specific deltas on top of that baseline. Use the canonical Dockerfile. `flyctl` picks it up automatically; you only need a small `fly.toml`. fly.tomlcopy ``` # fly.toml app = "yoursite" primary_region = "sjc" [build] dockerfile = "Dockerfile" [env] AGENTSITE_SITE = "https://yoursite.com" DIST_DIR = "/dist" [http_service] internal_port = 3000 force_https = true auto_stop_machines = true auto_start_machines = true ``` terminalcopy ``` # 1. flyctl detects the Dockerfile from the canonical layout. fly launch --no-deploy --copy-config # 2. Token as a secret (encrypted, not visible in fly.toml). fly secrets set AGENTSITE_TOKEN=asit_xxxxxxxxxxxx # 3. Deploy. fly deploy ``` **Use `fly secrets set`, not `[env]`.** Secrets are encrypted and don't appear in `fly.toml`; `[env]` is for non-sensitive config (site URL, paths). [← All integrations](/getting-started#by-hand) · [Need help with this recipe? →](/contact) Cookies We use cookies to make this site work and to understand how it's used. [Learn more](https://www.cookiesandyou.com/) Decline Got it