docs(deployment): add Deploy to Fly.io guide#1885
Conversation
Add a dedicated Deploy to Fly.io how-to (next + current): pre-built Docker Hub images, a Fly-ready config.yaml (bind [::], state under /data), the engine/worker placement model (engine plus workers, each worker either in-engine or its own Fly Machine over the 6PN), file_based to external adapters, Rust binary workers, worker manifest, hardening, RBAC, Fly Proxy TLS, health checks, observability, the /dev/kvm micro-VM limit, end-to-end verification, and a Fly-specific deployment checklist. Group docs.json under Deployment (now Deployment, Deploy to Railway, Deploy to Fly.io) for both versions. Grounded in real Fly testing: engine plus a separate worker Machine over the 6PN verified end-to-end with state persisting across reboots; libkrun (iii-sandbox) cannot boot without /dev/kvm and reboots the Machine, while binary registry workers run as host processes.
|
The latest updates on your projects. Learn more about Vercel for GitHub. 1 Skipped Deployment
|
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
skill-check — docs2 verified, 519 skipped.
Caution 2 in-scope rendered artifact(s) are out of date — sources this PR touches changed without re-rendering.
Note Additionally, 109 unrelated stale artifact(s) exist on main outside this PR's scope. Not blocking this PR; a maintainer should re-render them in a separate chore PR.
|
Replace anthropomorphic 'lives' with 'is stored on' / 'is held in' in the Fly guide (next + current) to clear Terminology.SlopMarketing errors.
There was a problem hiding this comment.
Actionable comments posted: 2
🧹 Nitpick comments (2)
docs/using-iii/deploy-fly.mdx (1)
597-597: 💤 Low valueAdd trailing newline at end of file.
POSIX text files should end with a newline character.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@docs/using-iii/deploy-fly.mdx` at line 597, The file docs/using-iii/deploy-fly.mdx is missing a trailing newline character at the end of the file. Add a newline character after the last line of content to ensure the file ends with a POSIX-compliant newline, which is the standard for text files.docs/next/using-iii/deploy-fly.mdx (1)
597-597: 💤 Low valueAdd trailing newline at end of file.
POSIX text files should end with a newline character.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@docs/next/using-iii/deploy-fly.mdx` at line 597, The file deploy-fly.mdx is missing a trailing newline at the end of the file, which violates POSIX text file standards. Navigate to the very end of the file after the last character and add a newline character to ensure the file ends with a proper line break.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@docs/next/using-iii/deploy-fly.mdx`:
- Line 255: The SQLite URL in the Fly configuration is using an incorrect format
with a single slash after the colon, which causes the path to be interpreted as
relative instead of absolute. Change the url value from sqlite:/data/iii.db to
sqlite:///data/iii.db by adding one additional slash after the colon to properly
specify an absolute path, ensuring SQLite correctly resolves the database
location on the Fly volume.
In `@docs/using-iii/deploy-fly.mdx`:
- Line 255: The SQLite URL on line 255 uses an incorrect format with only a
single slash after the colon in the protocol. Change the database URL from
sqlite:/data/iii.db to sqlite:///data/iii.db by adding two additional slashes.
The three-slash format (sqlite:///) correctly specifies an absolute path,
whereas the single-slash format (sqlite:/) may be interpreted as a relative
path, which can cause the database to be created in an incorrect location on the
Fly volume.
---
Nitpick comments:
In `@docs/next/using-iii/deploy-fly.mdx`:
- Line 597: The file deploy-fly.mdx is missing a trailing newline at the end of
the file, which violates POSIX text file standards. Navigate to the very end of
the file after the last character and add a newline character to ensure the file
ends with a proper line break.
In `@docs/using-iii/deploy-fly.mdx`:
- Line 597: The file docs/using-iii/deploy-fly.mdx is missing a trailing newline
character at the end of the file. Add a newline character after the last line of
content to ensure the file ends with a POSIX-compliant newline, which is the
standard for text files.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Repository UI
Review profile: CHILL
Plan: Pro
Run ID: a1fc3d45-2279-4934-bff1-c5f757d49d58
📒 Files selected for processing (3)
docs/docs.jsondocs/next/using-iii/deploy-fly.mdxdocs/using-iii/deploy-fly.mdx
Stacked on #1880 (Deploy to Railway), which is stacked on #1872 (Self-hosted deployment).
What changed
config.yaml(bind[::], state under/data), the engine + worker placement model (engine plus workers, each worker either in-engine or its own Fly Machine over the 6PN),file_basedto external adapters (Redis/RabbitMQ/Postgres), Rust binary workers, worker manifest, hardening, RBAC, Fly Proxy TLS, health checks, observability, the/dev/kvmmicro-VM limit, end-to-end verification, and a Fly-specific deployment checklist.docs.jsonDeployment group is now Deployment + Deploy to Railway + Deploy to Fly.io, for both versions.Depends on (merge order)
docs/deployment-guide)docs/deploy-railway-guide)Base branch is
docs/deploy-railway-guide; it will retarget tomainautomatically as the parents merge.Grounded in real Fly testing
/hello-> Fly Proxy -> engine -> worker -> state worker); state persisted across Machine reboots.iii-sandbox(libkrun) cannot boot without/dev/kvmand reboots the Machine; binary registry workers (e.g.database) run as host processes.always(a clean config-reload exit is otherwise not restarted).skill.md note
No
skill.mdcommitted; rendered artifacts are generated in CI (matching #1880).Test plan
Summary by CodeRabbit