docs: unify Ubuntu root /opt PM2 deployment and refresh README
Add docs/ubuntu-server.md; remove Windows and alternate process managers from deployment guides; index strategy, key monitor, TP/SL, breakeven, and replay docs in root README. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
+39
-84
@@ -1,65 +1,48 @@
|
||||
# 环境一键部署
|
||||
# 环境一键部署(Ubuntu / root /opt)
|
||||
|
||||
为仓库内各子项目创建 Python 虚拟环境、安装依赖、初始化 `.env` 与静态目录。
|
||||
在 **`/opt/crypto_monitor`** 下以 **root** 为各子项目创建 Python **`.venv`**、安装依赖、从 `.env.example` 生成 `.env`(不覆盖已有),并可选安装 **PM2**。
|
||||
|
||||
## Windows(推荐)
|
||||
完整系统要求(Python / Node / PM2 版本、启动顺序)见 **[docs/ubuntu-server.md](../docs/ubuntu-server.md)**。
|
||||
|
||||
双击仓库根目录 **`一键部署.bat`**,或在 PowerShell 中:
|
||||
---
|
||||
|
||||
```powershell
|
||||
cd C:\path\to\crypto_monitor
|
||||
.\deploy\setup_env.ps1
|
||||
```
|
||||
## 前置条件
|
||||
|
||||
仅部署部分项目:
|
||||
|
||||
```powershell
|
||||
.\deploy\setup_env.ps1 -Only binance,gate_bot
|
||||
```
|
||||
|
||||
重建虚拟环境:
|
||||
|
||||
```powershell
|
||||
.\deploy\setup_env.ps1 -RecreateVenv
|
||||
```
|
||||
|
||||
跳过 PM2、跳过复制 `.env`:
|
||||
|
||||
```powershell
|
||||
.\deploy\setup_env.ps1 -SkipPm2 -SkipEnvCopy
|
||||
```
|
||||
|
||||
## Linux / macOS
|
||||
|
||||
**Ubuntu / Debian 首次部署**(若 `python -m venv` 报 `ensurepip is not available`):
|
||||
- **Ubuntu 22.04 / 24.04**,用户 **root**
|
||||
- 已安装 **git**,仓库位于 **`/opt/crypto_monitor`**
|
||||
|
||||
```bash
|
||||
apt update
|
||||
apt install -y python3.10-venv python3-pip curl # 版本号与 python3 --version 一致
|
||||
bash deploy/setup_env.sh
|
||||
apt install -y python3 python3-pip python3-venv curl git ca-certificates
|
||||
# Node 20 + PM2 见 docs/ubuntu-server.md §3
|
||||
```
|
||||
|
||||
脚本在 **root** 下会自动尝试 `apt install python*-venv`;非 root 请先装系统包或使用:
|
||||
---
|
||||
|
||||
```bash
|
||||
sudo bash deploy/setup_env.sh --install-system-deps
|
||||
```
|
||||
## 一键执行
|
||||
|
||||
```bash
|
||||
cd /opt/crypto_monitor
|
||||
bash deploy/setup_env.sh
|
||||
bash deploy/setup_env.sh --only binance,gate
|
||||
bash deploy/setup_env.sh --recreate-venv
|
||||
bash deploy/setup_env.sh --install-system-deps
|
||||
```
|
||||
|
||||
若在 Windows 编辑过脚本后在 Linux 报错 `set: pipefail: invalid option name`,先去掉 CRLF 再执行:
|
||||
常用参数:
|
||||
|
||||
```bash
|
||||
bash deploy/setup_env.sh --only binance,gate_bot # 仅部分子项目
|
||||
bash deploy/setup_env.sh --recreate-venv # 重建虚拟环境
|
||||
bash deploy/setup_env.sh --skip-pm2 # 不尝试安装 pm2
|
||||
bash deploy/setup_env.sh --skip-env-copy # 不复制 .env.example
|
||||
```
|
||||
|
||||
若在其它环境编辑过脚本后报 `pipefail` 错误,先转 LF:
|
||||
|
||||
```bash
|
||||
sed -i 's/\r$//' deploy/setup_env.sh
|
||||
# 或: apt install -y dos2unix && dos2unix deploy/setup_env.sh
|
||||
bash deploy/setup_env.sh
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 脚本会做什么
|
||||
|
||||
| 步骤 | 说明 |
|
||||
@@ -67,57 +50,29 @@ bash deploy/setup_env.sh
|
||||
| 检查 Python | 需要 **3.10+** |
|
||||
| `crypto_monitor_*` | 各目录 `.venv` + `pip install -r ../requirements.txt` |
|
||||
| `manual_trading_hub` | 独立 `requirements.txt` |
|
||||
| `.env` | 若不存在则从 `.env.example` 复制(**不覆盖**已有) |
|
||||
| 目录 | 创建 `static/images`、`static/images/order_charts` |
|
||||
| PM2 | 若已装 Node.js 且未 `-SkipPm2`,尝试 `npm install -g pm2` |
|
||||
| `.env` | 不存在则从 `.env.example` 复制 |
|
||||
| 目录 | `static/images`、`static/images/order_charts` |
|
||||
| PM2 | 已装 Node 时 `npm install -g pm2` |
|
||||
|
||||
---
|
||||
|
||||
## 部署之后
|
||||
|
||||
1. 编辑各子目录 **`.env`**(API、登录密码、SOCKS 代理、**AI 复盘** 等)。AI 默认走 OpenAI 兼容网关 `https://op.bz121.com/v1`(`AI_PROVIDER=openai`,`OPENAI_API_KEY` 等),详见根目录 [AI复盘与模型配置说明.md](../AI复盘与模型配置说明.md)。
|
||||
2. 本地试运行(以 Binance 为例):
|
||||
1. 编辑各子目录 **`.env`**(API、登录密码、SOCKS、AI 复盘等)。
|
||||
2. **仅用 PM2 常驻**(见 [docs/ubuntu-server.md](../docs/ubuntu-server.md) §3):
|
||||
|
||||
```bash
|
||||
cd crypto_monitor_binance
|
||||
source .venv/bin/activate # Windows: .\.venv\Scripts\activate
|
||||
python app.py
|
||||
cd /opt/crypto_monitor/crypto_monitor_binance && pm2 start ecosystem.config.cjs
|
||||
# … 其余三所 …
|
||||
cd /opt/crypto_monitor/manual_trading_hub && pm2 start ecosystem.config.cjs
|
||||
pm2 save
|
||||
```
|
||||
|
||||
3. 服务器长期运行见各目录 **《部署文档.md》**(SSH SOCKS、PM2)。
|
||||
4. **多账户中控**(`manual_trading_hub`):编辑 `manual_trading_hub/.env`(`HUB_PASSWORD`、`HUB_BRIDGE_TOKEN` 等与四实例一致),再 `pm2 start ecosystem.config.cjs`;验收 `bash manual_trading_hub/scripts/verify_hub_deploy.sh`。详见 [manual_trading_hub/部署文档.md](../manual_trading_hub/部署文档.md)、[常见问题.md](../manual_trading_hub/常见问题.md)。
|
||||
3. 四所 `.env` 同步脚本见 **[docs/env-sync-scripts.md](../docs/env-sync-scripts.md)**。
|
||||
|
||||
## 四所 `.env` 同步脚本(已有 .env 时)
|
||||
|
||||
在仓库根目录用 Python 脚本**补全或更新**四所 `crypto_monitor_*` 下的 `.env`(不覆盖 API 密钥;无 `.env` 的目录会跳过)。
|
||||
|
||||
```bash
|
||||
cd /path/to/crypto_monitor
|
||||
git pull
|
||||
|
||||
# 推荐:计仓 + 自动划转 一次补全
|
||||
python scripts/sync_four_exchange_env.py
|
||||
|
||||
# 预览
|
||||
python scripts/sync_four_exchange_env.py --dry-run
|
||||
|
||||
# 常见:划转目标 50U 并开启 + 计仓补全
|
||||
python scripts/sync_four_exchange_env.py --set-transfer-amount 50 --enable-auto-transfer
|
||||
|
||||
# 无仓后切全仓杠杆
|
||||
python scripts/sync_four_exchange_env.py --set-mode full_margin
|
||||
|
||||
pm2 restart crypto-monitor-binance crypto-monitor-okx crypto-monitor-gate crypto-monitor-gate-bot
|
||||
```
|
||||
|
||||
| 脚本 | 作用 |
|
||||
|------|------|
|
||||
| `scripts/sync_four_exchange_env.py` | 一键:计仓 + 划转 |
|
||||
| `scripts/sync_four_exchange_transfer_env.py` | 仅自动划转 |
|
||||
| `scripts/sync_four_exchange_position_sizing_env.py` | 仅计仓模式 |
|
||||
|
||||
**完整参数、缺项默认值与示例**见 **[docs/env-sync-scripts.md](../docs/env-sync-scripts.md)**。
|
||||
功能说明:[计仓模式](../docs/position-sizing-mode.md)、[每日自动划转](../docs/auto-transfer-daily.md)。
|
||||
---
|
||||
|
||||
## 依赖说明
|
||||
|
||||
- 四个监控子项目共用仓库根目录 **[requirements.txt](../requirements.txt)**。
|
||||
- 走 SOCKS 代理时必须安装 **PySocks**(已包含在 requirements 中)。
|
||||
- 四个监控子项目共用根目录 **[requirements.txt](../requirements.txt)**。
|
||||
- 走 SOCKS 须 **PySocks**(已包含在 requirements 中)。
|
||||
|
||||
+2
-3
@@ -1,5 +1,5 @@
|
||||
#!/usr/bin/env bash
|
||||
# crypto_monitor 一键环境部署(Linux / macOS / Git Bash)
|
||||
# crypto_monitor 一键环境部署(Ubuntu / root /opt/crypto_monitor)
|
||||
#
|
||||
# 用法:
|
||||
# bash deploy/setup_env.sh
|
||||
@@ -253,6 +253,5 @@ install_pm2
|
||||
echo ""
|
||||
echo "部署完成。下一步:"
|
||||
echo " 1. 编辑各子目录 .env"
|
||||
echo " 2. 启动示例: cd crypto_monitor_binance && source .venv/bin/activate && python app.py"
|
||||
echo " 3. Windows 可用: powershell -File deploy/setup_env.ps1"
|
||||
echo " 2. 编辑各目录 .env 后使用 PM2: pm2 start ecosystem.config.cjs(见 docs/ubuntu-server.md)"
|
||||
echo ""
|
||||
|
||||
Reference in New Issue
Block a user