Application platforms / Fly.io Machines alternative

A Fly.io alternative for an agent’s complete durable RootFS

Fly Machines already supports full-state suspend and configurable volume growth. Its durable application data usually lives on separate local volumes, while the machine root filesystem is ephemeral across normal deployment or restart. Compare the exact lifecycle rather than assume every saved machine artifact has the same durability.

Reviewed 2026-10-18 · Published by the Sandbox0 team

When Fly.io Machines fits

Fly.io fits teams that want full-kernel microVMs, geographic app placement, Fly Proxy, and a flexible application infrastructure platform. Its volume APIs and conditional memory suspend can support agent work when the application handles cold starts and data replication deliberately.

When to consider Sandbox0

Consider Sandbox0 for a durable complete writable RootFS, online growth on enabled templates, and supported persistent-file operations during compute pauses. Test full-kernel dependencies, region requirements, throughput, and deployment behavior before moving an existing Fly application.

Capabilities

Fly.io Machines and Sandbox0: what persists?

Feature comparison with documentation and verification status
Environment and runtime lifetimeFly.io MachinesNot established in this reviewSandbox0ttl and hard_ttl default to 0 (disabled). Configure idle pause and deletion policies for the same persistent sandbox identity; an idle running sandbox still accrues compute charges.Read documentation →
Persistent filesFly.io MachinesSeparate mounted local volumes survive deploy/restart. Placement, backups, and application-managed replication matter.View evidence ↗Sandbox0The writable RootFS survives successful checkpoints, including software, system configuration, dependencies, and user data.Read documentation →
Whole RootFSFly.io MachinesOrdinary Machine rootfs is documented as ephemeral across deploy/restart; suspend is a conditional exception rather than a general durable RootFS contract.View evidence ↗Sandbox0Persistence extends beyond /workspace to paths such as /usr/local, /etc, and /home. Runtime tmpfs and virtual filesystems are excluded.Read documentation →
Release compute, keep stateFly.io MachinesSuspend/resume can preserve execution state, with documented cold-start fallback after checkpoint invalidation or loss.View evidence ↗Sandbox0Pause compute between tasks; resume on available capacity. Default resume starts fresh processes from the saved filesystem.Read documentation →
Memory and process stateFly.io MachinesSuspend captures memory and CPU/runtime state; snapshots are not guaranteed to remain available.View evidence ↗Sandbox0Experimental memory checkpoints can preserve compatible process state. Use memory: true on both pause and resume on a compatible deployment. A filesystem checkpoint alone does not preserve running processes.Read documentation →

Online RootFS growth

On growth-enabled images, Sandbox0 automatically expands the writable RootFS as free space runs low, within a configured sparse logical ceiling up to 64 TiB. Agent processes keep running. Growth is enabled in the qualified Cloud region; confirm activation for other regions. Existing images and snapshots retain their captured storage geometry. The ceiling is logical capacity, not preallocated host disk.

Fly supports threshold-based automatic extension of its persistent mounted volume. Sandbox0’s distinct scope is automatic online growth of the complete persistent writable RootFS, including system packages and configuration outside a data mount.

Files while compute is paused

Sandbox0's Files API reads persistent files without resuming compute. Filesystem-only pauses also permit edits; retained-memory pauses are read-only and reject mutations with 409. SSH, SFTP, file watching, and runtime-only mounts require running compute.

See paused file operations →

Suspend is a conditional execution snapshot

Fly suspend captures memory and runtime state and ordinarily resumes without rebooting. It also retains rootfs through that suspend path. However, deployment, host migration, snapshot loss, or maintenance can discard the checkpoint and cause a cold start. Keep durable agent work on the intended persistent storage and make cold-start behavior safe.

Volumes can grow automatically, but they are a different storage scope

Fly Volumes are persistent mounted directories on local NVMe hardware, with one volume per attached Machine and no automatic inter-volume replication. Fly supports manual or threshold-based automatic extension, up to its documented volume maximum. This is a real growth feature, but it expands the mounted volume rather than converting the ephemeral operating-system RootFS into a durable system disk.

Stopped rootfs, provisioned volumes, and snapshots have separate meters

Fly’s current rate card distinguishes running compute from retained rootfs, provisioned volume capacity, and stored snapshot data. Volume charges continue when detached or attached to a stopped Machine. Compute examples depend on CPU class and region; a shared CPU is not an equivalent throughput promise to another provider’s CPU shape.

Pricing

Compare billing models, then price your workload

CPU allocation, memory, billing minimums, disk, plan fees, and supported workload differ. These meters are not equal-performance machine quotes. Confirm region, resource units, and included allowances before estimating a total.

Fly.io Machines

Pricing reviewed 2026-10-18

Ashburn shared-cpu-1x, 1 GB RAM
$6.70 per 30-day month if continuously running
Region-specific example, billed by the second; 31-day total differs.
Rate source ↗
Stopped or suspended Machine rootfs
$0.15 per GB-month
No CPU/RAM meter while stopped or suspended; retained storage is separate.
Rate source ↗
Fly Volume capacity
$0.15 per GB-month provisioned
Continues while detached or attached to a stopped Machine.
Rate source ↗
Stored volume snapshots
$0.08 per GB-month
First 10 GB free monthly; measures stored snapshot data rather than the provisioned volume size.
Rate source ↗

Current resource pricing has no monthly platform fee. Preserve Fly’s GB labels, Ashburn sample region, 30-day reference month, CPU class, and additional network/IP charges. Automatic volume extension increases provisioned capacity and its bill. No universal savings or equal-performance comparison is inferred.

Check current Fly.io Machines pricing ↗

Sandbox0

$0.015/GiB-hour compute (billed by the second at approximately $0.000004167/GiB-second), plus $0.02/GiB-month of retained incremental RootFS and memory checkpoint data. Shared base images and platform recovery retention are excluded; paused sandboxes accrue storage charges only.

Compute / GiB-hour
$0.015
Retained data / GiB-month
$0.02
Paused compute
$0.00

A 4 GiB agent, 100 running hours

$6.00 compute

4 GiB × 100 hours, billed by the second. Keeping 20 GiB of billable incremental data for a full billing month adds $0.40. CPU is derived from memory by the platform; choose a tier that fits your workload.

Understand storage billing →

Before migrating from Fly.io Machines

  1. Export required volume data and system changes, and record suspend fallback, regional placement, replication, app image, and proxy behavior.
  2. Package compatible tools in a Sandbox0 template and port Machine lifecycle, command/file, network, secret, and service interfaces.
  3. Validate actual paths across tasks, online RootFS growth, paused file access, full-kernel compatibility, process restoration, and compute plus all retained-storage meters.

Common questions

Is Sandbox0 a drop-in Fly.io Machines replacement?

Evaluate API compatibility and product scope. These products serve different core workflows, so a change may require a different architecture.

Does keeping files also keep a running agent?

Filesystem state and volatile process state are separate. Sandbox0 requires explicit compatible memory checkpoints to preserve running processes; its default filesystem resume starts fresh processes.

Sources and review scope

The Boat team's Battleships directory is the discovery source. References below describe the product and plan discussed on this page. Check current availability, regional terms and billing units before migrating. Where the cited material does not establish a capability or price, the comparison identifies that uncertainty.

Related comparisons