/**
 * PM2 进程定义(Ubuntu / Linux).
 *
 * 仅托管 Flask 应用.**SSH SOCKS 隧道**用 `ssh -D` 常驻(可用 tmux / autossh),勿交给 PM2.
 * 与 `.env` 里 `GATE_SOCKS_PROXY` 端口一致即可;不必交给 PM2.
 *
 * 使用前:项目根目录存在 `.venv`,且已安装依赖(走 SOCKS 时需 PySocks).
 *
 * 启动:
 *   pm2 start ecosystem.config.cjs
 * 保存开机列表:
 *   pm2 save && pm2 startup
 */
const path = require("path");

const ROOT = __dirname;
const REPO_ROOT = path.join(ROOT, "..");
const PY = path.join(ROOT, ".venv", "bin", "python");

module.exports = {
  apps: [
    {
      name: "crypto_gate",
      cwd: ROOT,
      script: path.join(ROOT, "app.py"),
      interpreter: PY,
      instances: 1,
      autorestart: true,
      watch: false,
      max_memory_restart: "800M",
      env: { PYTHONPATH: REPO_ROOT },
    },
  ],
};
