Self-Hosting Overview

Run your own copy of livediagram on your own infrastructure, with the same feature set as the hosted version.

livediagram is built to be self-hosted, not just used at livediagram.app. Because the whole project is open source, you can clone the repository and run it on your own Cloudflare account. You get every feature in the codebase, no subscription, no licence check, and no required outside services. This page covers why you might do that and what you are signing up for.

Why self-host

There are two equally supported ways to use livediagram, and both have the same feature set.

  • Hosted by livediagram at livediagram.app, free for everyone, a convenience and a public home for the project.
  • Self-hosted, where you deploy and run it yourself.

You might self-host to keep document data on infrastructure you control, to meet an internal policy, to fork and customise the editor, or simply to run a private instance for your team. Since it is MIT-licensed, you are free to modify, embed, or build on it, commercially or not.

What it runs on

livediagram runs entirely on Cloudflare. The frontends are static (built with Next.js in export mode, so there is no server-side rendering and no Node runtime to operate), and all server-side logic lives in Cloudflare Workers.

  • Cloudflare Workers serve the apps and host the API.
  • Cloudflare D1 is the database where documents live, reached only through the API Worker.
  • Cloudflare Durable Objects power the per-document real-time room.
  • Cloudflare R2 (optional) stores uploaded images and the thumbnails the Explorer shows. The api wrangler.toml already binds a livediagram-images bucket, so create it, or remove that [[r2_buckets]] block to run without one. Without it, image uploads and live images are unavailable and documents show a generic icon in the Explorer.

This means there is no separate database server, no container fleet, and no always-on box to babysit. You deploy Workers and static assets to your Cloudflare account. Durable Objects need the Workers paid plan on that account.

marketinglivetelemetryhelpcommunityrouterapi WorkerD1Durabledatabaserealtime room
The whole stack: static apps and the router in front of the api Worker, which owns D1 and the Durable Object room.

What you keep control of

A self-hosted instance's servers make no required calls to any outside service. Visitors' browsers still load the editor's fonts from Google Fonts, and image search contacts Openverse when someone uses it.

  • Sign-in is optional. Leave it unconfigured and the app runs in pure-guest mode, fully usable, with no account system at all.
  • Telemetry is off by default. A self-host emits and serves nothing unless you explicitly enable it.
  • Every integration is opt-in. Email, the AI features, the Google Drive mirror and the MCP server for AI tools each stay off until you set them up. See Configuration and Optional Auth.
  • No license gating. Nothing phones home to unlock features.

Ready to deploy? See deploying livediagram for the shape of the apps, then configuration and optional auth for the settings you can turn on.

Was this article helpful?