Skip to content

Quick Start

  • Node.js 24+ (use fnm or nvm)
  • pnpm 8.15+ (corepack enable && corepack prepare pnpm@8.15.0 --activate)
  • A Cloudflare R2 bucket (only for production media)
Terminal window
git clone https://github.com/milzamsz/astro-emdash-sqlite-r2-starter.git
cd astro-emdash-sqlite-r2-starter
pnpm install
Terminal window
cp .env.example .env # optional locally

Local dev needs no configuration — SQLite (./data/emdash.db) and local uploads work out of the box. Set SITE_URL for correct canonical/OG/sitemap URLs in production.

Terminal window
pnpm dev

This runs EmDash’s dev server: it boots Astro, migrates the SQLite database, and seeds seed/seed.json on first run.

  • Site: http://localhost:4321 — English at the root (/)
  • Admin: http://localhost:4321/_emdash/admin — create the owner account on first visit
Terminal window
pnpm build # server build in dist/
pnpm start # run node ./dist/server/entry.mjs

Deploy the server with the included Dockerfile. See Dokploy (Docker).