cPanel Node.js application ------------------------ Application root: this folder (after unzip) Application startup file: index.js (server.js is also included for local/Docker use) Node version: 20.x (match cPanel selector) Set environment variables in cPanel (see .env.production.example in repo root). Import database: sql/production_cpanel_import.sql via phpMyAdmin (fresh DB only). Or on an existing DB: run sql/016 … sql/022 in phpMyAdmin in numeric order. Recommended cPanel env: DB_POOL_LIMIT=3 (shared MySQL connection limits). Do not expose uploads/ or .env inside public_html. Health checks after deploy: GET /api/health — ping only (can pass while schema is incomplete) GET /api/health/schema — shows missing tables/columns + repairHint GET /api/health/ready — 503 when DB, auth, or schema checks fail GET /api/health/live — process up only Zip this entire folder for upload (7-Zip or: Compress-Archive -Path deploy\* -DestinationPath deploy.zip).