ecosystem.config.cjs 1.13 KB
// PM2:本地常驻或主机部署时的进程定义。新增、删除或重新注册后执行 `pm2 save`。
const path = require('node:path')

const repoRoot = __dirname

const processDefaults = {
  autorestart: true,
  exec_mode: 'fork',
  instances: 1,
  kill_timeout: 10000,
  max_restarts: 10,
  merge_logs: true,
  min_uptime: '10s',
  restart_delay: 2000,
  time: true,
  watch: false,
}

module.exports = {
  apps: [
    {
      ...processDefaults,
      name: 'voko-server',
      cwd: path.join(repoRoot, 'apps', 'voko-server'),
      script: './src/main.js',
      interpreter: 'node',
    },
    {
      ...processDefaults,
      name: 'voko-worker',
      cwd: path.join(repoRoot, 'apps', 'voko-server'),
      script: './src/voko-worker-main.js',
      interpreter: 'node',
    },
    {
      // 本地试运行用的前端开发服务器(/api 代理到 voko-server)。正式部署是 `vite build` 后的静态托管,不走这个进程。
      ...processDefaults,
      name: 'voko-web',
      cwd: path.join(repoRoot, 'apps', 'voko-web'),
      script: './node_modules/vite/bin/vite.js',
      interpreter: 'node',
    },
  ],
}