3.0 KiB
3.0 KiB
User Dashboard (LysnrAI) — Vercel Deployment Roadmap
App:
user-dashboard-webRepo:learning_voice_ai_agent→user-dashboard-web/Status: ⚠️ Partial — needs Gitea registry access + env vars
Current State
- Framework: Next.js 16.1.6, React 19.2.3, TailwindCSS v4, shadcn/ui
- Output: Vercel-aware (
process.env.VERCEL ? {} : { output: 'standalone' }) - Dependencies: 14
@bytelyst/*packages via Gitea registry (^0.1.0) - Build:
next build --webpack - Server-side: Azure Cosmos DB, Stripe, JWT, bcryptjs
- No
file:references ✅
Gaps to Fix
Gap 1: Gitea Registry Access on Vercel (~15 min)
The .npmrc points to local Gitea (http://localhost:3300). Vercel can't reach this.
Options:
- A) Publish to npm (public) — best for production
- B) Publish to GitHub Packages (private) — requires
NODE_AUTH_TOKENon Vercel - C) Use Vercel's private npm support — configure in project settings
- D) Vendor tarballs — use
scripts/docker-prep.shpattern to pack tarballs and reference locally
Recommended: Option B or C for initial deployment.
Fix:
- Publish
@bytelyst/*packages to GitHub Packages or npm - Update
.npmrcto use the chosen registry (with Vercel env var for auth token) - OR use
docker-prep.shto vendor tarballs and adjustpackage.json
Gap 2: Environment Variables (~10 min)
COSMOS_ENDPOINT— Azure Cosmos DB endpointCOSMOS_KEY— Azure Cosmos DB keyJWT_SECRET— JWT signing secretSTRIPE_SECRET_KEY— Stripe server-side keySTRIPE_PUBLISHABLE_KEY— Stripe public keyNEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY— Client-side Stripe keyPLATFORM_SERVICE_URL— platform-service endpointACTIONTRAIL_SERVICE_URL— ActionTrail backendAZURE_KEYVAULT_URL— AKV (optional)
Deployment Steps
Step 1: Fix Registry Access (~15 min)
- Choose registry strategy (npm / GitHub Packages / Vercel private)
- Publish packages or configure vendoring
- Update
.npmrcwith Vercel-compatible registry URL
Step 2: Create Vercel Project (~5 min)
- Connect
learning_voice_ai_agentrepo - Set Root Directory to
user-dashboard-web - Framework preset: Next.js
Step 3: Configure Environment Variables (~10 min)
- Add all env vars listed above
- Set
NODE_AUTH_TOKENif using private registry
Step 4: Verify (~10 min)
- Trigger deploy
- Test login, dashboard, billing flow
- Verify Stripe integration
- Verify Cosmos connectivity
Step 5: Domain (~5 min)
- Add custom domain (e.g.,
portal.lysnrai.com)
Risks
- Cosmos latency: Same region concern as admin-web.
- Stripe webhooks: Stripe webhook URL must be updated to Vercel domain.
- Platform-service connectivity: PLATFORM_SERVICE_URL must point to a publicly accessible endpoint (not localhost).