Current

Docs Content Storage

How Doxa stores published docs versions, shares unchanged content, and keeps each site's files separate

What it does

Every time a docs version is published, Doxa saves the site's pages and assets as a set of stored objects. Each version has a folder-style index that lists its files, and the files themselves are stored by a hash of their content. Because of this, a page that did not change between two versions is stored once and reused, not copied.

Readers of your published site always get the version that is currently active. Publishing a branch switches the active version to the new one. Earlier versions stay available for publication history and restore.

How a version is stored

PartWhat it holdsWhy it matters to you
Version indexThe list of pages, folders, and assets in one published versionEach publish gets its own complete index
Content objectsThe bytes of each page or asset, named by their hashUnchanged files are shared across versions
Site scopeEvery object belongs to one project's siteTwo sites never share stored content, even when files look identical

A version is only served when its index and every object it references are complete. If stored content is damaged, Doxa does not serve it. The request fails instead, so readers do not receive a partial or corrupted page.

Read speed and caching

Published pages are read from storage close to the reader and cached after the first request. The details of how cached copies are kept up to date are covered in Production Docs Caching and Production Docs Rendering.

Note:

Storage is managed by Doxa. You do not configure buckets, regions, or cache rules for your site, and you do not need to back up stored content to keep your docs live.

Older versions and regeneration

Versions saved before the current storage format are not served. If a site version predates the format and no longer renders, start a new generation from the Generations page. The new version is saved in the current format and can be published as usual.

Stored objects that no published or previewed version still uses are removed over time. See Storage Garbage Collection for how cleanup works.