coolify 启动 laravel inertia ssr 服务需要在项目根目录创建 .env.production 文件并配置 node_env=production,同时在构建阶段安装 node 依赖并执行 npm run build。coolify 会自动检测 public/build/manifest.json 或 ssr.js 的存在来识别 ssr 需求,但不会自动启动后台进程,你需要通过 coolify 的 "services" 功能将 node public/build/ssr.js 作为一个独立的 service 运行,或者在 dockerfile 中配置 cmd 来启动它。

Coolify 如何构建包含 SSR 的 Laravel Inertia 应用?
在 Coolify 中构建 Laravel Inertia SSR 应用,关键在于正确配置构建步骤以生成 ssr.js 文件。你需要确保 package.json 中的 build 脚本调用了 Vite 的 SSR 构建命令,并在 Coolify 的项目设置中将构建命令设置为 npm install && npm run build。Coolify 会执行这些命令并将生成的 public/build 目录部署到服务器。此时,前端资源已就绪,但 SSR 服务尚未运行。

Laravel Cloud(cloud.laravel.com)。此技能用于处理所有 Laravel Cloud 请求,包括搜索和读取数据。只要任务涉及 Laravel Cloud,即使用此技能。
npm install npm run build
如何在 Coolify 中运行和监控 SSR 服务?
构建完成后,SSR 服务需要作为一个独立的进程运行。在 Coolify 中,最可靠的方法是将 SSR 服务添加为一个独立的 "Service"。你可以创建一个基于 Node.js 的 Service,指向你的项目路径,并将启动命令设置为 node public/build/ssr.js。Coolify 会使用 PM2 或 Docker 来管理这个进程,确保它在应用重启后自动恢复。你还需要配置环境变量,如 NODE_ENV=production,以确保 SSR 使用生产模式。

node public/build/ssr.js
SSR 服务启动失败时常见的排查点有哪些?
当 SSR 服务无法启动时,最常见的原因是 public/build/ssr.js 文件缺失或权限问题。首先检查构建日志,确认 npm run build 是否成功生成了该文件。其次,检查 Coolify 中 SSR Service 的环境变量,确保 NODE_ENV 设置为 production。如果使用了数据库,确保 SSR 服务能访问数据库连接信息。最后,查看 Coolify 中 SSR Service 的日志,通常会有具体的错误堆栈,如模块未找到或端口冲突。

















