Files
pleskSaas/docs/deployment-production.md

1.7 KiB

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:

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.