Ports the "Technical Editorial" design sample into real TSX wired to Payload globals/collections. Home/About/Projects (list+detail)/Contact pages render against Payload data. Expands schemas (Home principles, About timeline/skills/gear, Contact channels) to cover the full design surface. Adds seed script that populates realistic AI-drafted content for first boot. Defers writing/resume routes per scope cut. - Design tokens: Material-3 palette + Space Grotesk/Inter typography scale + dot-grid + glassmorphism utilities - Shared layout: Nav, Footer, StatusTerminal, GridOverlay, Button, TechChip in src/components/site - Schemas: expand 5 globals + 6 collections; add auto-slug hook - Seed: scripts/seed.ts — idempotent upsert for media, categories, 6 projects, 8 gear, 3 posts, 5 globals; generates placeholder admin - Contact: form + /api/contact route with optional Turnstile verify - Rename TURNSTILE_SITE_KEY -> NEXT_PUBLIC_TURNSTILE_SITE_KEY (client) - Remove dead src/components/SiteHeader|SiteFooter|StatusTerminal
49 lines
1.6 KiB
Plaintext
49 lines
1.6 KiB
Plaintext
# =============================================================================
|
|
# jasonwoltje.com — environment variables
|
|
# =============================================================================
|
|
# Actual values live in Portainer stack env vars (prod) or .env (local dev).
|
|
# Never commit .env — see .gitignore.
|
|
|
|
# ---- Payload / Database ----
|
|
# Local dev convenience: pnpm dev reads these directly.
|
|
# In prod, DATABASE_URI is composed in docker-compose.swarm.yml from PAYLOAD_POSTGRES_*.
|
|
DATABASE_URI=postgres://payload:payload@localhost:5432/payload
|
|
PAYLOAD_POSTGRES_USER=payload
|
|
PAYLOAD_POSTGRES_PASSWORD=replace-me-local-only
|
|
PAYLOAD_POSTGRES_DB=payload
|
|
PAYLOAD_SECRET=replace-with-32-plus-char-random-string
|
|
|
|
# ---- Public URLs ----
|
|
PAYLOAD_PUBLIC_SERVER_URL=http://localhost:3000
|
|
NEXT_PUBLIC_SITE_URL=http://localhost:3000
|
|
|
|
# ---- Build-time metadata (Status Terminal) ----
|
|
# CI overrides these during docker-build; local dev falls back to "dev" / "local".
|
|
NEXT_PUBLIC_BUILD_SHA=dev
|
|
NEXT_PUBLIC_BUILD_REV=local
|
|
|
|
# ---- Cloudflare Turnstile (contact form CAPTCHA) ----
|
|
NEXT_PUBLIC_TURNSTILE_SITE_KEY=
|
|
TURNSTILE_SECRET_KEY=
|
|
|
|
# ---- Umami analytics (self-hosted; empty disables tracker) ----
|
|
NEXT_PUBLIC_UMAMI_SRC=
|
|
NEXT_PUBLIC_UMAMI_WEBSITE_ID=
|
|
|
|
# ---- Contact form email (choose one path) ----
|
|
# Option A: Resend
|
|
RESEND_API_KEY=
|
|
RESEND_FROM=no-reply@jasonwoltje.com
|
|
RESEND_TO=jason@diversecanvas.com
|
|
|
|
# Option B: SMTP relay
|
|
# SMTP_HOST=
|
|
# SMTP_PORT=587
|
|
# SMTP_USER=
|
|
# SMTP_PASSWORD=
|
|
# SMTP_FROM=no-reply@jasonwoltje.com
|
|
# SMTP_TO=jason@diversecanvas.com
|
|
|
|
# ---- Mautic newsletter (not deployed yet; leave empty) ----
|
|
MAUTIC_FORM_URL=
|