# cPanel deployment checklist

**Spaceship Supreme:** use [the dedicated guide](../../docs/spaceship-supreme.md) and `HOSTING_PROFILE=spaceship`. The generic persistent-process instructions below apply only to `HOSTING_PROFILE=standard`.

This is an alternative host profile, not a claim that every shared-hosting plan is compatible.

- Confirm Node 24 support, MySQL 8.0.34+ (not MariaDB), TLS-capable Redis access, native sharp installation, persistent writable storage, and HTTPS under one canonical domain.
- Confirm the provider supports two independent persistent background processes for `worker.js` and `scheduler.js`. Ordinary once-per-minute cron launching these infinite loops would create duplicate processes and is unsupported.
- Select `infrastructure/cpanel/passenger-entry.cjs` as the Passenger startup file, or copy that exact small entry into the startup location required by the provider and adjust its relative import. Keep the project ESM package setting intact.
- Configure private environment values in the hosting dashboard. Keep source and private storage outside the public document root. Preserve media storage across release changes.
- Identify the actual trusted proxy path/IP behavior before choosing TRUST_PROXY. Never select `true` to silence a configuration error.
- Run migrations/seeds and first-admin enrollment using the protected CLI; do not expose installation routes.
- Execute release preflight, check readiness, and complete the browser/Telegram/restore tests in `docs/acceptance.md` before opening traffic.
- If the plan cannot support these requirements, use the supplied VPS/container topology. Do not substitute MariaDB or drop background work silently.
