EZMON Hub Setup
The Hub is the primary Next.js web application deployed to Vercel. It serves the Dashboard UI, NextAuth authentication, agent ingestion APIs, and the internal serverless evaluator (/api/internal/evaluate).
⚡ One-Click Vercel Deployment
The fastest way to deploy the EZMON Hub is using the official Vercel deploy button:
🛠️ Manual Terminal Setup
Clone Repository & Install Dependencies
git clone https://github.com/efzynx/ezmon.git
cd ezmon
pnpm installSetup PostgreSQL Database
EZMON supports any PostgreSQL provider (Neon, Supabase, AWS RDS, or self-hosted PostgreSQL via universal postgres-js driver):
- Provision a PostgreSQL database instance.
- Copy your Database Connection String (e.g.
postgresql://user:pass@ep-host.neon.tech/ezmondb?sslmode=require).
Configure Environment Variables
Copy .env.example to apps/web/.env.local:
cp .env.example apps/web/.env.localEdit apps/web/.env.local and set required environment variables:
DATABASE_URL=postgresql://user:pass@host/ezmondb?sslmode=require
NEXTAUTH_SECRET=generate-random-secret-key-32-chars
NEXTAUTH_URL=https://your-hub.vercel.app
CRON_SECRET=generate-cron-secret-key-32-chars
NEXT_PUBLIC_APP_URL=https://your-hub.vercel.appRun Database Migrations
pnpm --filter @ezmon/db migrateDeploy to Vercel
npx vercel --cwd apps/webEnsure all mandatory Environment Variables are configured in Vercel Dashboard → Project Settings → Environment Variables:
DATABASE_URLNEXTAUTH_SECRETNEXTAUTH_URLCRON_SECRETNEXT_PUBLIC_APP_URL
Generate secure random secrets for NEXTAUTH_SECRET and CRON_SECRET using terminal command:
openssl rand -base64 32