Skip to content
Strata
Astro 7.3 · React 19 · Node 24

Ship a complete website on Astro 7, not a starter you still have to finish.

Strata is an Astro 7 template with React 19, Motion, Tailwind CSS 4, Better Auth, Drizzle + libSQL, MDX docs and blog, SEO, a strict CSP and tests. Deploys to Vercel, Cloudflare, Netlify or Node.

Terminal
git clone https://github.com/empeeryal/strata-stack.git my-site
cd my-site
pnpm install
cp .env.example .env
pnpm db:migrate
pnpm dev

One codebase. Four deploy targets.

Everything a site needs, already wired together

This site is built from the template you are reading about. Every feature below is running on the page in front of you.

Pick a platform at build time

A single astro.config.ts selects the adapter from the DEPLOY_TARGET environment variable, or detects the platform automatically. Static pages, server-rendered auth routes, image optimisation and security headers work the same way everywhere.

  • Static-first output with prerender = false only where you need a server.
  • One database client that resolves to the right driver on Node, Workers and edge runtimes.
  • CI builds all four targets on every pull request so nothing drifts.
DEPLOY_TARGET=vercel pnpm build
Build output
.vercel/output/
Runtime
Vercel Functions · Node 24
  • Auto-detected from VERCEL=1, nothing to configure
  • CSP and security headers emitted as static headers
  • Vercel Image Optimization for <Image>
Vercel deployment guide

Current, locked and tested

Versions below are the exact releases installed from this repository's pnpm-lock.yaml, read at build time, so the page never lies about what it runs on. Dependabot keeps them fresh and the CI matrix proves every upgrade still builds on all targets.

Node 24.xpnpmTypeScript strictESLint 10
Core dependencies and their installed versions
PackageInstalled
Astro7.3.3
React19.3.0
Motion13.4.0
Tailwind CSS
Better Auth1.7.5
Drizzle ORM0.45.2
libSQL client0.18.0
MDX

From clone to production in three steps

  1. 1

    Clone and rename

    Every name, URL and link lives in src/site.config.ts. Update it once and the header, footer, SEO tags and manifest follow.

  2. 2

    Write content

    Add MDX to src/content for docs and blog posts. Schemas are validated at build time and the sidebar, TOC and RSS feed update themselves.

  3. 3

    Deploy anywhere

    Set DEPLOY_TARGET (or let the platform be detected) and push. Vercel, Cloudflare, Netlify and Node builds share one config.

Start with the docs, or read how it was built

The documentation covers every part of the template. The blog explains the decisions behind it.