# cPanel Deployment

1. Select a cPanel account with PHP 8.4 and required extensions: BCMath, Ctype, cURL, DOM, Fileinfo, Mbstring, OpenSSL, PDO MySQL, Tokenizer and XML.
2. Upload the repository outside `public_html` where possible.
3. Point the domain document root to the application `public` directory. If the hosting panel cannot change the document root, use a dedicated subdomain whose root can be set correctly; do not expose the project root.
4. Run Composer from cPanel Terminal or SSH, configure `.env`, create the MySQL database/user, and run migrations with `--force`.
5. Build assets locally or through Node.js support, then upload `public/build`.
6. Create the scheduler cron and a persistent queue worker. Shared hosting without a reliable worker is not suitable for production e-invoice, PDF, import and notification queues.
7. Enable AutoSSL, set `APP_ENV=production`, `APP_DEBUG=false`, `SESSION_SECURE_COOKIE=true`, and test `/api/v1/health`.
