Skip to content

Add Vercel static-site deployment for the landing page - #1

Draft
mlmrx wants to merge 1 commit into
mainfrom
claude/vercel-mysovereign-deploy-velwua
Draft

Add Vercel static-site deployment for the landing page#1
mlmrx wants to merge 1 commit into
mainfrom
claude/vercel-mysovereign-deploy-velwua

Conversation

@mlmrx

@mlmrx mlmrx commented Aug 6, 2026

Copy link
Copy Markdown
Owner

What

Makes the repo deployable to Vercel (for the mysovereign.ai domain) as a static landing site:

  • scripts/build-site.mjs — assembles dist-site/ from the self-contained landing page: public/land.html becomes index.html and public/land.js comes along. No dependencies, plain node scripts/build-site.mjs.
  • vercel.json — zero-install static build (installCommand: ""), serves dist-site/, and sends the same hardening headers the sovereign server applies (applySecurityHeaders in src/util.js), so the page runs under the identical CSP it was written for (external scripts only, inline styles allowed).
  • .gitignore — ignores dist-site/.

Why only the landing page

The full app is a persistent Node server with a local SQLite database (node:sqlite) and filesystem state — it cannot run on Vercel's serverless platform. The app itself stays self-hosted (sovereign start, Docker, or sovereign byoc); Vercel hosts the marketing/landing page.

To go live on mysovereign.ai

  1. Import mlmrx/SovereignAI at vercel.com/new — the build settings are read from vercel.json automatically.
  2. In the Vercel project: Settings → Domains → add mysovereign.ai (and www.mysovereign.ai), then point DNS as Vercel instructs (A 76.76.21.21 for the apex, CNAME cname.vercel-dns.com for www).

Note: if a waitlist endpoint is later configured in land.html's waitlist-endpoint meta tag, its origin must be added to connect-src in the vercel.json CSP.


Generated by Claude Code

The full app needs a persistent server and local SQLite, so static hosts
get only the self-contained landing page: scripts/build-site.mjs copies
land.html (as index.html) and land.js into dist-site/, and vercel.json
builds that directory with the same security headers the sovereign
server sends.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SAPZf6jJFm45TyBnvzdM6o
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants