======================================================== BasiraSecure License Server — cPanel Setup Guide CloudLinux / NO TERMINAL REQUIRED ======================================================== STEP 1 — Delete node_modules if it exists in app folder (CloudLinux manages this automatically — do not create it manually) STEP 2 — Setup Node.js App (cPanel > Setup Node.js App > Create) Node.js version : 20 Application mode : Production Application root : license.basirasoft.com Application URL : license.basirasoft.com Startup file : dist/server.js STEP 3 — Set Environment Variables (copy from .env file) DATABASE_URL = (long postgresql:// line) DIRECT_URL = (second postgresql:// line) JWT_SECRET = basira_secure_jwt_secret_key_2026_super_secure AES_SECRET = basira_secure_aes_encryption_key_2026 NODE_ENV = production *** DO NOT set PORT — cPanel sets it automatically *** STEP 4 — Click "Run NPM Install" - Installs all packages - Automatically runs: prisma generate (via postinstall hook) - Linux Prisma binaries download automatically (already configured) STEP 5 — Click "Start" STEP 6 — Test in browser: https://license.basirasoft.com/health Expected: {"status":"healthy","timestamp":"..."} IMPORTANT: keys/ folder has your Ed25519 signing keys. Never delete or regenerate — all client tokens depend on them!