# cPanel deployment

1. Node.js: 22.x
2. Application mode: Production
3. Application root: the folder containing package.json
4. Application startup file: `app.cjs`
5. Save.
6. Run **NPM Install**.
7. Run the package script `build:cpanel` (not `build`). This runs the Vite/Nitro production build without the database migration.
8. Confirm `.output/server/index.mjs` exists.
9. Start/restart the Node.js application.

Important: Passenger must use `app.cjs`, not `app.js`, because this project declares `"type": "module"`. Passenger loads the startup file with CommonJS `require()`, while top-level `await` in an ESM `.js` startup file causes `ERR_REQUIRE_ASYNC_MODULE`.
