{
  "version": "2",
  "id": "https://freelancenews.online/news/cloudflare-adds-public-beta-snapshot-and-restore-for-container-6188ef6f",
  "title": "Cloudflare adds public beta snapshot and restore for Container filesystems",
  "summary": "The new snapshotContainer() API lets developers capture a running Container's filesystem and pass the handle back to start(), restoring files after sleep, restart or handoff to another Durable Object.",
  "body": "Cloudflare has introduced snapshot and restore support for Container filesystems, now in public beta, according to the company's developer changelog. The feature lets a developer capture a point-in-time copy of a running Container's filesystem and later use that copy to bring files back after the container sleeps, restarts, or is handed off to a different Durable Object.\n\nThe mechanism is exposed through the Durable Object Container API. A developer calls snapshotContainer() on the running container to capture the full filesystem, stores the returned handle, and passes that handle to start() when restoring. The changelog's example stores the snapshot in Durable Object storage under a key and reads it back before calling start() with the containerSnapshot option.\n\nThe documented flow has two distinct steps. First, saveSnapshot() awaits this.ctx.container.snapshotContainer({}) and writes the result to this.ctx.storage. Second, restoreSnapshot() reads the stored value, returns early if nothing is found, and otherwise calls this.ctx.container.start({ containerSnapshot, enableInternet: false }). The restore call in the example explicitly disables internet access.\n\nThe source lays out two constraints. First, the feature's scope covers Container applications running the durable_object scheduling policy alone; projects relying on any other scheduling policy fall outside it. Second, snapshots cannot be altered once made: rather than modify an existing one, a developer who wants filesystem changes from after a restore to persist has to create a new snapshot.\n\nFor freelancers and developers building on Cloudflare's container platform, the practical value is in state continuity. A container that sleeps or restarts normally loses in-memory and filesystem state; a stored snapshot handle gives a documented way to bring the filesystem back to a known point. The handoff case matters for architectures where work moves between Durable Objects, because the snapshot travels with the handle rather than staying tied to one instance.\n\nThe immutability rule shapes how such a workflow has to be designed. Because a restored snapshot cannot be updated in place, any changes written after a restore exist only in the live filesystem until a fresh snapshot is taken. Teams that want durable checkpoints at several stages will need to manage multiple snapshot handles and decide when each is created and discarded.\n\nThe example's enableInternet: false is worth noting as a documented parameter in the restore path, but the supplied source does not explain what network behavior applies when it is set differently, nor does it describe snapshot size limits, storage costs, retention, or performance characteristics. Those details are not established by the evidence available here.\n\nThe changelog labels the capability a public beta, which signals that the API surface and behavior may still change. It also points readers to separate documentation on Snapshots and the Durable Object Container API for more information, but the supplied excerpts do not include that documentation's contents.\n\nNo pricing, regional availability, or migration guidance is provided in the source material. The excerpts also do not state whether existing containers can adopt snapshots without code changes, or what happens to a snapshot handle if the underlying container is deleted. These remain open questions for anyone planning to rely on the feature.\n\nEditorially, the sensible approach for this audience is to treat snapshots as a checkpointing primitive rather than a backup system. The documented behavior supports restoring a filesystem state and handing it to another Durable Object; it does not, on this evidence, promise durability guarantees, cross-account portability, or long-term archival.\n\nA reasonable first step would be to prototype the save-and-restore cycle in a non-critical container that already uses the durable_object scheduling policy, confirm that the stored handle survives the sleep or restart path you care about, and measure how snapshot creation interacts with your workload before depending on it in production.\n\nThe headline fact is narrow and concrete: Cloudflare now documents snapshotContainer() and a containerSnapshot option on start() for Container filesystems, in public beta, with a durable_object scheduling policy requirement and immutable snapshots. Everything beyond that — cost, limits, and long-term support — is not answered by the evidence supplied.",
  "category": "dev",
  "language": "en",
  "datePublished": "2026-09-30T13:18:24.351Z",
  "dateModified": "2026-09-30T13:18:24.351Z",
  "eventDate": null,
  "sourcePublicationDate": "2026-09-30T00:00:00.000Z",
  "source": {
    "name": "developers.cloudflare.com",
    "url": "https://developers.cloudflare.com/changelog/post/2026-09-30-snapshots/",
    "kind": "official-publisher"
  },
  "practicalImpact": "For developers running Cloudflare Containers, the documented pattern offers a way to checkpoint a filesystem and restore it after sleep, restart, or handoff, which can reduce re-initialization work — but only for apps on the durable_object scheduling policy, and only if the team manages snapshot handles and re-snapshots deliberately.",
  "limitations": "The evidence is a single changelog entry. It does not state pricing, storage limits, retention, performance, regional availability, or behavior when enableInternet is set differently, and it does not include the linked Snapshots or Container API documentation. Public beta status means the API may change.",
  "keyPoints": [
    "Cloudflare's changelog describes snapshot and restore for Container filesystems as a public beta feature.",
    "snapshotContainer() captures the full container filesystem and returns a handle that can be stored, for example in Durable Object storage.",
    "The stored handle is passed to start() via the containerSnapshot option to restore files after sleep, restart, or handoff to another Durable Object.",
    "Snapshots require the durable_object scheduling policy and are immutable, so persisting later changes requires creating a new snapshot."
  ],
  "review": {
    "status": "source-reviewed",
    "checkedAt": "2026-09-30T13:18:24.351Z",
    "method": "Automated comparison against retrieved source text; not independent fact-checking.",
    "correctionNote": null
  },
  "sources": [
    {
      "id": 1,
      "url": "https://developers.cloudflare.com/changelog/post/2026-09-30-snapshots/",
      "publisher": "developers.cloudflare.com",
      "title": "Changelog",
      "publishedAt": 1790726400000,
      "fetchedAt": 1790774293517,
      "hash": "15f19b3ad32a8963d29a0b058a980f746c014b1327197779a4cef6523bf21632",
      "kind": "official-publisher"
    }
  ],
  "claims": [
    {
      "claim": "Cloudflare's changelog announces snapshot and restore support for Container filesystems in public beta.",
      "source": 1,
      "id": "claim-1",
      "url": "https://freelancenews.online/news/cloudflare-adds-public-beta-snapshot-and-restore-for-container-6188ef6f#claim-1"
    },
    {
      "claim": "snapshotContainer() is called through the Durable Object Container API to capture the full container filesystem.",
      "source": 1,
      "id": "claim-2",
      "url": "https://freelancenews.online/news/cloudflare-adds-public-beta-snapshot-and-restore-for-container-6188ef6f#claim-2"
    },
    {
      "claim": "A stored snapshot handle is passed to start() to restore the container's files.",
      "source": 1,
      "id": "claim-3",
      "url": "https://freelancenews.online/news/cloudflare-adds-public-beta-snapshot-and-restore-for-container-6188ef6f#claim-3"
    },
    {
      "claim": "Snapshots are supported only for Container applications using the durable_object scheduling policy.",
      "source": 1,
      "id": "claim-4",
      "url": "https://freelancenews.online/news/cloudflare-adds-public-beta-snapshot-and-restore-for-container-6188ef6f#claim-4"
    },
    {
      "claim": "Snapshots are immutable, so persisting filesystem changes after a restore requires creating a new snapshot.",
      "source": 1,
      "id": "claim-5",
      "url": "https://freelancenews.online/news/cloudflare-adds-public-beta-snapshot-and-restore-for-container-6188ef6f#claim-5"
    }
  ],
  "formats": {
    "html": "https://freelancenews.online/news/cloudflare-adds-public-beta-snapshot-and-restore-for-container-6188ef6f",
    "markdown": "https://freelancenews.online/news/cloudflare-adds-public-beta-snapshot-and-restore-for-container-6188ef6f.md",
    "json": "https://freelancenews.online/news/cloudflare-adds-public-beta-snapshot-and-restore-for-container-6188ef6f.json"
  }
}