How Dokly works

The architecture in one page: how content is stored, rendered, and served.

If you're going to depend on Dokly for your docs, you should know how it works. Here's the model in one page.

The mental model#

Every Dokly project is three things:

  1. A subdomain (e.g., acme.dokly.co) and optionally a custom domain (e.g., docs.acme.com).
  2. A tree of pages — each page has a slug, a title, and a body of blocks. Pages can be nested.
  3. Branding settings — logo, primary color, social card, dark/light defaults.

The dashboard at dokly.co/dashboard is where you write and configure. The public site at your subdomain is where readers go.

Screenshot needed

simple flow diagram — Editor (dashboard) → Save → Public site (subdomain)

How content gets from editor to reader#

You write in the editor

Insert blocks with the slash menu, drag them around, type your content.

Save publishes the page

Hit ⌘S (or wait for autosave). The page is written to your project, no build step required.

Public site serves the page

Pages are cached at the edge for fast loads. Edits invalidate the cache automatically — changes are usually visible within a second or two.

What that means for you#

  • No deploys. Editing is publishing. There's no preview branch, no PR review, no CI queue.
  • No local environment. Everything happens in your browser.
  • Fast pages, always. Readers hit a cached page, not a database query.
  • Search is client-side. Search runs in the reader's browser — instant results, no extra API calls.

A fixed component set#

Dokly ships a curated set of components (Callout, Tabs, Steps, Card, API Playground, etc.). They're styled, accessible, and dark-mode aware out of the box, and they look identical in the editor preview and on the live site.

You can't add custom components from outside the platform. This is intentional: it keeps your docs consistent and prevents one-off widgets from making your site feel inconsistent. Enterprise plans can whitelist additions to the set — talk to us.

The full list is in Components → Overview.

Custom domains and routing#

Every project lives at <your-name>.dokly.co by default. On Pro plans and above, you can add a custom domain (docs.acme.com) — point a CNAME at the value Dokly gives you and TLS is provisioned automatically. You don't manage certs.

Data and ownership#

  • Your content lives on Dokly's managed infrastructure.
  • Free-tier projects sit on the same infrastructure as Pro projects — no degraded performance.
  • If you want to leave, contact us — we'll work with you on a clean export.

Where to dig in next#