Skip to content

Production Deployment

Node.js Deployment

Build

bash
npm run build

Run

bash
node .output/server/index.mjs

The server starts on port 3000 by default. Override with the PORT environment variable.

Process Manager

Use PM2 or similar for production process management:

bash
pm2 start .output/server/index.mjs --name pip-ai

Docker Deployment

Example Dockerfile:

dockerfile
FROM node:18-alpine AS builder
WORKDIR /app
COPY package*.json ./
RUN npm ci
COPY . .
RUN npm run build

FROM node:18-alpine AS runner
WORKDIR /app
COPY --from=builder /app/.output ./.output
ENV PORT=3000
EXPOSE 3000
CMD ["node", ".output/server/index.mjs"]

Build and run:

bash
docker build -t pip-ai .
docker run -p 3000:3000 --env-file .env pip-ai

Vercel Deployment

  1. Push to GitHub
  2. Import project in Vercel
  3. Nuxt is auto-detected
  4. Add environment variables in Vercel dashboard
  5. Deploy

Post-Deployment Checklist

  • [ ] All environment variables configured
  • [ ] Supabase project is active and not paused
  • [ ] N8N workflows are active
  • [ ] Auth redirect URLs updated to production domain
  • [ ] Storage bucket policies allow production domain
  • [ ] SSL certificate active
  • [ ] Dev auth bypass is disabled (NUXT_PUBLIC_DEV_AUTH_BYPASS unset or false)

Built with VitePress