# Production Deployment Runtime Foundation This project can be deployed in a dedicated Proxmox container using Docker Compose. The files added here establish a minimal production runtime baseline without changing application business logic or Supabase security boundaries. ## Dockerfile purpose The `Dockerfile` uses a multi-stage build on Node 20: - installs dependencies - runs `next build` - prepares a lean runtime image with production dependencies - runs the app with `next start` on port `3000` This keeps the runtime image small and focused on serving the built Next.js app. ## docker-compose.prod.yml purpose `docker-compose.prod.yml` defines one service: - service name: `web` - container name: `plesk-agency-portal` - restart policy: `unless-stopped` - environment from `.env` - port mapping `3000:3000` - health check against `/api/health` ## External Supabase requirement Supabase remains external to this application container. The app container must only connect to Supabase via environment variables. No local Supabase container is included in this production compose file. ## Health endpoint usage `GET /api/health` provides a fast, dependency-light runtime check for container orchestration and uptime checks. Example: ```bash curl -s http://localhost:3000/api/health ``` Expected response shape: - `ok: true` - `service: "plesk-agency-portal"` - `timestamp` - `environment` ## Production environment expectations Before deploying, set production-safe values in `.env` (using `.env.example` as the template), including: - app URL and `NODE_ENV` - Supabase public and server credentials - Plesk credential encryption key - Stripe secrets - cron/job shared secrets Keep secrets out of source control.