PORT=3001 JWT_SECRET=change-this-to-a-random-64-char-string ADMIN_USERNAME=admin ADMIN_PASSWORD=admin123 CORS_ORIGIN=http://localhost:5173 UPLOAD_DIR=./server/uploads DATA_DIR=./server/data # SMTP Mail Service Settings for Contact Us Form SMTP_HOST=smtp.gmail.com SMTP_PORT=465 SMTP_SECURE=true SMTP_USER=info@cavinfotech.com SMTP_PASS=your-smtp-password-or-app-password SMTP_FROM="Cavin Infotech Contact Form " SMTP_TO=info@cavinfotech.com # Cloudflare Turnstile Settings (Use Cloudflare testing keys by default) # Sitekey for frontend: 1x00000000000000000000AA (Always Passes - Visible Widget) VITE_TURNSTILE_SITE_KEY=1x00000000000000000000AA # Secret key for backend: 1x000000000000000000000000000000AA TURNSTILE_SECRET_KEY=1x000000000000000000000000000000AA # Production (demo.cavinkare.in/citpl_website): # 1. Copy dist/ + server/ + package.json + .env to the host # 2. npm install --omit=dev && npm run server (or pm2 start server/index.js) # 3. Ensure Apache serves dist/ at /citpl_website/ with public/.htaccess # (PHP api/index.php proxies /api → 127.0.0.1:3001) # CORS_ORIGIN=https://demo.cavinkare.in # Leave unset to auto-use Vite base: # local: /api/... # prod: /citpl_website/api/... # Only set if the API is on a different host than the site. # VITE_API_BASE= # SERVE_STATIC=1