Skip to main content
Streamly’s default pnpm run build output is a standard Next.js app. Vercel is a supported Node host. This is not static hosting: operator login, APIs, and webhooks need the server runtime.

1 - Import the app

Create a Vercel project from the streamly/ folder (the directory that contains package.json), not the outer CodeCanyon ZIP wrapper. Build command: pnpm run build (or Vercel’s Next.js default). Install command: pnpm install.

2 - Production environment variables

Set these in the Vercel project Settings → Environment Variables for Production. Keep secrets server-only - never prefix them with NEXT_PUBLIC_. Full list: Environment Variables. Leave ENABLE_DEMO unset (or false) on Vercel production. It is only for the public CodeCanyon preview and permits shared demo credentials.

3 - First operator

  1. Deploy the production URL.
  2. Open /admin/login.
  3. Sign in with exactly the bootstrap email and password.
  4. After success, remove STREAMLY_INITIAL_ADMIN_PASSWORD from Vercel and redeploy. Later logins use Supabase Auth only.
POST /api/admin/login will not create or promote any other user after that first operator exists.

4 - After deploy

Optional: Vercel Cron can POST /api/internal/jobs/run with X-Streamly-Cron-Secret. See Deploy (Node) for job payloads. The built-in login limit is per application instance. Add a Vercel Firewall rate-limit rule for POST /api/admin/login on a distributed production deployment.