Deployment
Configuration boundaries for deploying the Intertool MVP.
The Next.js web application is deployed through the linked Vercel project. Vercel packages the web output automatically; output: "standalone" is reserved for self-hosted builds. The Fastify API remains a separate service and must be deployed with its own runtime and database connectivity.
Run the Next.js web process on port 3000 and the Fastify service on port 3001 (or set PORT). Both need DATABASE_URL; both must share AUTH_SECRET and WEB_INTERNAL_SECRET. The web process also needs SERVER_URL for private service calls.
If a production web deployment does not define SERVER_URL, Intertool runs as a public marketing site and redirects protected product routes to the landing page. This prevents stale browser sessions from reaching product pages that cannot contact the API.
Required production values:
NODE_ENV=production
DATABASE_URL=
AUTH_URL=https://intertool.example
SERVER_URL=https://api.intertool.example
AUTH_SECRET=
WEB_INTERNAL_SECRET=
GITHUB_CLIENT_ID=
GITHUB_CLIENT_SECRET=
DEV_AUTH_BYPASS=false
LOG_LEVEL=infoUse TLS for both origins and ensure the service is not reachable with the signed internal headers except through the web tier. Rotate WEB_INTERNAL_SECRET separately from personal MCP tokens.
The included in-memory rate limiter is per process. Replace it with a shared limiter before horizontally scaling the API. Run pnpm db:migrate before starting a new service revision. Never seed production.