Pricing Docs Blog Apps Tools Support Start Free
Marketing

Deploy EmDash in 60 Seconds

The full-stack TypeScript CMS built on Astro - what WordPress might look like if you started it today. Running on your own server, from $7/mo, with no Cloudflare account required.

Deploy EmDash $7/mo - $10 credit when you add a card

What is EmDash?

EmDash is an open-source CMS built as an Astro integration: add it to your config and you get an admin panel, a REST API, authentication, a media library and a plugin system. It takes the things that made WordPress dominant - extensibility, a real admin UX, a plugin model - and rebuilds them on typed, modern foundations. If you would rather keep WordPress itself and just move it somewhere better, the best VPS for WordPress covers what that stack actually needs. For the long version of running EmDash on Node instead of Cloudflare, see self-hosting EmDash without Cloudflare, and the step-by-step is on the EmDash install page.

The deeper difference is how content is stored. WordPress keeps rich text as HTML with metadata buried in comments, which ties your content to one presentation. EmDash uses Portable Text, a structured JSON format, so the same content can render as a web page, a mobile app, an email or an API response. Content types are defined in the database rather than in code, so non-developers can create and modify collections from the admin UI - and each one gets a real SQL table you can generate TypeScript types from.

How do I deploy EmDash?

The fastest way to deploy EmDash is a 1-click InstaPods pod: pick EmDash from the app catalog and it is live in about 60 seconds on a $7/mo Build plan, with HTTPS, a seeded starter blog and a per-pod encryption key already generated. No Dockerfile, no database to provision, no environment variables to set.

Three routes people actually take, and what each one costs:

  • InstaPods, 1-click: flat $7/mo. 2 vCPU, 2 GB RAM, 25 GB disk, unlimited bandwidth, daily backups and SSH included. Live in about 60 seconds, nothing to configure.
  • Cloudflare Workers: the project's own default target, using D1 for the database and R2 for media. Sandboxed plugins depend on Dynamic Worker Loaders, which need a paid Workers plan starting at $5/mo, and your database and storage are then billed separately on top.
  • Your own VPS: install Node 22, build the site, then wire up systemd, a reverse proxy and a TLS certificate yourself. Cheapest in dollars, most expensive in evenings.

Why EmDash on InstaPods?

No Cloudflare Account Needed

EmDash runs best on Workers, but it is not locked to it. Here it is a single Node 22 process with embedded SQLite - no D1 binding, no Workers plan, no wrangler config to babysit.

Structured Content, Not HTML Soup

Portable Text stores your content as structured JSON instead of serialized HTML, so it can render to a page, an app, an email or an API without anyone parsing markup.

Visual Schema Builder

Define content types from the admin UI, not in code. Each collection becomes a real SQL table, and developers can generate TypeScript types from the live schema.

Passkey-First Login

Sign in with Touch ID, Windows Hello or a security key - there is no password to phish or leak. We put a per-pod password in front of setup so nobody can claim your CMS before you do.

WordPress Import Wizard

Bring posts, pages, media and taxonomies across from a WXR export, the WordPress REST API, or WordPress.com - without hand-copying a single post.

Built for AI Agents

A built-in MCP server and a CLI let tools like Claude manage your content and schema directly, plus skill files for AI-assisted plugin and theme work.

How It Works

1

Pick the Build Plan

EmDash runs on the Build plan - 2 vCPUs, 2 GB RAM, and 25 GB storage. Click deploy and we do the rest.

2

We Deploy Everything

Your pod boots from a pre-baked image in seconds, with HTTPS, a seeded starter blog, and a per-pod encryption key generated on first boot for your plugin secrets.

3

Claim It With a Passkey

Open the admin with the per-pod password from your welcome email, then the setup wizard registers your passkey. Add a custom domain first if you plan to use one.

Simple Pricing

EmDash runs on the Build plan. Your content, your database, your server - one flat monthly price.

Build Plan
$7/mo
  • 2 dedicated vCPUs
  • 2 GB RAM
  • 25 GB storage
  • Embedded SQLite - no external database
  • HTTPS included
  • Custom domain support
  • Daily backups + SSH access
Deploy EmDash

Where EmDash is today

EmDash calls itself a beta preview and is shipping releases roughly weekly, so it is early software and worth choosing with that in mind. It is a good fit for a new blog, marketing site or portfolio you are happy to keep current, and a poor fit if you need a stack that never moves. Updating is one click from your pod dashboard, and daily backups are included, so keeping up is cheap and reverting is possible.

One thing worth knowing before you start: passkeys are bound to the exact hostname you register them on. If you plan to use a custom domain, point it at the pod and set EMDASH_SITE_URL to it before you create your passkey. Your welcome email spells this out, and if you have already set up you can still invite a second admin and register a passkey on the new domain.

Compare with SaaS Alternatives

See how EmDash stacks up against the hosted platforms it replaces.

A CMS Worth Owning

Structured content, passkey auth and a real admin - on a server you control, for a flat $7/mo. No Cloudflare account, no per-seat fees.

Deploy EmDash Now