Deployment
Krios deploys to Vercel with a Neon PostgreSQL database and Supabase Storage by default. Alternate hosts (Cloudflare, AWS, self-hosted) work but aren't first-class.
Reference architecture
+----------------------+
Browser ───────▶│ Vercel CDN / edge │
+----------+-----------+
│
▼
+----------------------------------+
│ Vercel serverless functions │
│ - Admin UI (Next.js) │
│ - REST + GraphQL APIs │
│ - Cron handlers │
+-----+--------------------+-------+
│ │
▼ ▼
+-----------------+ +-----------------+
│ Neon Postgres │ │ Supabase │
│ (TLS, AES-256) │ │ Storage │
+-----------------+ +-----------------+
Sub-pages
- Vercel — import the repo, build settings, custom domain
- Environment variables — every var Krios reads
- Supabase — bucket setup, image transforms
- Neon — pooled vs unpooled connections, branching
- Production checklist — what to verify before going live
Self-hosted
Krios is a regular Next.js app — pnpm build && pnpm start on any Node-capable host works. Replace:
- Vercel Cron → systemd timer / cron + a curl call to each
/api/cron/*route. - Vercel CDN → CloudFront / Fastly / nginx with
Surrogate-Keysupport. - Vercel env vars → your secrets manager.
Tune DATABASE_URL for connection pooling (PgBouncer in transaction mode pairs well with serverless) and enable HTTP/2 / Brotli at the proxy.