Passenger runs a literal JS entry file, not the next start CLI or an
npm script, so a custom server was needed for cPanel's Node.js App
startup file field.
Both docs still described a frontend/-subfolder Vite/react-router-dom
setup that never existed in this repo's history, and were missing the
yt-dlp probe gating, SEO landing pages, sitemap, and 4-locale i18n
shipped in recent commits. Also removes src/app/page.tsx and
src/app/status/[uuid]/page.tsx, superseded by the [locale]-based
routes and unreachable since the next-intl middleware redirects all
non-API traffic into [locale]/...
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Consolidates the manual deploy steps (env copy, install, prisma
generate/migrate deploy, build, pm2 startOrRestart+save) documented
in the README into a single scripts/deploy.sh run over SSH.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Passenger only manages the Next.js app process; the worker now gets
the same crash-recovery/auto-restart via pm2, replacing the cron-driven
PID-file restart hack. Updates README deployment steps accordingly.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
TypeScript 7's CommonJS export no longer populates ts.sys, which
ts-node's config loader depends on, breaking `npm run worker` with
a TypeError. tsx (esbuild-based) doesn't rely on that API and
natively resolves tsconfig.json path aliases, so tsconfig-paths is
also no longer needed.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>