// macOS process list — the laptop subset of ecosystem.config.cjs. // // Only what a Mac install can actually run and what the laptop workflow needs (file browser + // Claude/opencode chat + terminal). Deliberately omitted: // officer-vnc — mirrors an Xorg :0 with x11vnc; there is no Xorg on macOS. // officer-email — needs the mbsync/IMAP stack that setup_mac.sh does not install. // officer-music — the indexer is ffprobe-driven and works, but it is not part of the laptop // workflow and a full ~/Music index is an expensive thing to start by default. // // Start with: pm2 startOrRestart ecosystem.mac.config.cjs // The Linux host keeps using ecosystem.config.cjs; neither file references the other. // // `cwd` is pinned on every app because Bun auto-loads .env from the working directory (and // pty-sidecar.mjs does `import 'dotenv/config'`). Without it, starting pm2 from anywhere other than // the repo root silently falls back to PORT=5000 with no POSTGRES_URL. const cwd = __dirname; module.exports = { apps: [ { name: 'officer', script: 'bun', args: 'start', cwd, watch: false, }, { name: 'officer-claude', script: 'bun', args: 'run src/servers/sidecar/claude/index.ts', cwd, watch: false, }, { name: 'officer-opencode', script: 'bun', args: 'run src/servers/sidecar/opencode/index.ts', cwd, watch: false, }, { name: 'officer-pty', script: 'node', args: 'src/servers/api/terminal/pty-sidecar.mjs', cwd, watch: false, }, ], };