# CoinOX 部署文档(仅 Ubuntu) 仓库: 安装路径:`/opt/coinox` 进程名:`coinox`(PM2) 默认端口:`5010` 默认模式:**模拟盘**(`SIM_DEFAULT_MODE=sim`) 本项目**仅支持 Ubuntu 22.04 / 24.04 + root 一键部署**,不提供 Windows 部署步骤。 --- ## 一键交互式部署(推荐) 新服务器无需先 clone,root 执行: ```bash curl -fsSL https://git.bz121.com/dekun/CoinOX/raw/branch/main/deploy/manage.sh | bash ``` 已安装机器: ```bash bash /opt/coinox/deploy/manage.sh ``` ### 菜单 | 选项 | 功能 | |------|------| | **1) 一键部署** | 检测环境 + 系统依赖 + Node/PM2 + venv + `.env` + 启动 PM2 | | **2) 一键卸载** | 备份 `.env` → 停 PM2 → 移走目录 | | **3) 更新** | 快速更新 / 依赖更新 | | **4) 仅检测** | 识别 OS / Python / Node / PM2 / 项目状态(不安装) | | **0) 退出** | | ### 部署完成后 - 访问:`http://<服务器IP>:5010` - 默认入口:`/hedge-plan`(对冲)、`/options`(期权) - 登录:`admin` / `.env` 中 `APP_PASSWORD`(首次多为 `admin123`) - **默认模拟盘**:本地钱包撮合,不打真实私有下单;**公网默认开启登录**(`APP_AUTH_DISABLED=false`) - **云服务器无需代理**:`.env` 里不要填 `OKX_HTTP_PROXY` / `OKX_SOCKS_PROXY`(香港/新加坡直连 OKX) 切实盘前请在 env / 系统设置中配置 `OKX_API_*`,并将交易模式切为 `live`,同时确认 `LIVE_TRADING_ENABLED`,并在 OKX API 白名单加入云主机出口 IP。 --- ## 云服务器 + 宝塔 Nginx 反代(推荐测试形态) 适合:1G 内存云主机,宝塔**只装 Nginx**,CoinOX 用 PM2 监听 `127.0.0.1:5010` 或 `0.0.0.0:5010`。 1. 按上文一键部署 CoinOX(`/opt/coinox`,端口 `5010`) 2. 宝塔 → 网站 → 添加站点(域名或服务器 IP) 3. 设置 → 反向代理: - 目标 URL:`http://127.0.0.1:5010` - 发送域名:`$host` 4. (可选)申请 SSL,开启强制 HTTPS;此时建议在 `.env` 设 `APP_COOKIE_SECURE=true` 后 `pm2 restart coinox --update-env` 5. 安全组/防火墙:对外只放行 **80/443**(不必对公网暴露 5010) 6. 登录后改掉 `APP_PASSWORD`;保持 `APP_AUTH_DISABLED=false` Nginx 反代示例(宝塔「配置文件」里亦可手改): ```nginx location / { proxy_pass http://127.0.0.1:5010; proxy_http_version 1.1; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_read_timeout 300s; } ``` 云上测试最小 `.env` 要点: | 键 | 建议值 | |----|--------| | `APP_HOST` | `0.0.0.0`(或仅反代时用 `127.0.0.1`) | | `APP_PORT` | `5010` | | `APP_AUTH_DISABLED` | `false` | | `SIM_DEFAULT_MODE` | `sim` | | `LIVE_TRADING_ENABLED` | `false` | | `OKX_*_PROXY` | 留空 | --- ## 脚本结构 ``` deploy/ ├── manage.sh # 入口(自举 + 交互菜单) ├── lib/ │ ├── common.sh │ ├── install.sh │ ├── uninstall.sh │ ├── update.sh │ └── doctor.sh ├── setup_env.sh └── pull_and_restart.sh ``` 详见 [deploy/README.md](./deploy/README.md)。 --- ## 分步安装(可选) ```bash cd /opt git clone -b main https://git.bz121.com/dekun/CoinOX.git coinox cd /opt/coinox bash deploy/setup_env.sh --install-system-deps pm2 start ecosystem.config.cjs pm2 save && pm2 startup ``` --- ## 常用运维 ```bash pm2 status pm2 logs coinox --lines 80 bash /opt/coinox/deploy/pull_and_restart.sh bash /opt/coinox/deploy/manage.sh # 选 3 更新 ``` --- ## 安全提醒 - 不要把 `.env`、API Key 提交到 Git - 公网务必改掉默认密码,并关闭 `APP_AUTH_DISABLED` - 模拟盘与实盘建议使用不同服务器或至少不同子账户 API