OctoBot 项目研究站 · 安装与运行
OctoBot 安装与运行:四条官方路径怎么选
官方给了四条路:下载可执行文件(CI 自动构建 Windows/macOS/Linux/树莓派版本)、用一行 docker run 起容器、按官方指南从 Python 源码安装,或者直接在云端(DigitalOcean 一键部署 / octobot.cloud)跑。它们的前置条件差别很大:源码路线要求 Python 3.13 与 Pants 构建环境,Docker 路线则把依赖都封在镜像里。下面把每条路的前提、命令与自检方式列清。
OctoBot 的四种安装方式怎么选:横向对照
先按「你愿意付出多少运维成本」来选。
| 路径 | 适合谁 | 前置条件 | 更新方式 | 注意点 |
|---|---|---|---|---|
| 可执行文件 | 只想尽快跑起来、不打算改代码 | 操作系统在官方构建覆盖范围内(Windows/macOS/Linux/树莓派) | 重新下载 Releases 里的新版本 | README 称这是最容易的安装方式;打包配置在 bin/start.spec(PyInstaller) |
| Docker | 有服务器/群晖/NAS,想要可复现环境 | 已装 Docker;规划好端口与卷路径 | 拉新镜像;compose 可配 watchtower 自动更新 | 端口与卷必须按下面表格规划,否则数据会落在容器里 |
| Python 源码 | 要读代码、改策略、做二次开发 | Python 3.13、Pants 2.30.0、正确的 PYTHONPATH | 拉取代码后重装/重启 | README 指向官方 Python+Git 安装指南;解释器约束是 ==3.13.* |
| 云端 | 不想管机器、想长期在线上跑 | 云账号(如 DigitalOcean)或官方云服务订阅 | 由平台/镜像更新机制决定 | 官方云 octobot.cloud 与开源版本是两种形态,条款与数据归属不同 |
| 自建硬件下限 | 树莓派/低配 VPS 用户 | README 给出最低要求:CPU 1 核 1GHz、内存 250MB、磁盘 1GB | — | 这是「能不能启动」的下限,不代表跑多策略时够用 |
用 Docker 跑 OctoBot 要配哪些端口和卷
这一节是四条路里细节最多的,也是最容易配错的。
| 配置项 | Dockerfile / compose 中的值 | 用途 | 配错的后果 |
|---|---|---|---|
| 端口 8000 | EXPOSE 8000(注释:Node API / OctoBot node mode) | node 模式的接口端口 | 不映射则外部界面连不上 node |
| 端口 5001-5010 | EXPOSE 5001-5010(独立 Web 界面 + 最多 10 个子进程界面) | 手动实例的 Web 界面 | 多开的实例界面访问不到 |
| 卷 user | VOLUME /octobot/user | 用户配置与数据 | 不挂卷则重建容器会丢配置 |
| 卷 tentacles | VOLUME /octobot/tentacles | 已安装的插件 | 不挂卷则扩展需要重装 |
| 卷 logs | VOLUME /octobot/logs | 运行日志 | 排障时无处可查 |
| 卷 backtesting | VOLUME /octobot/backtesting | 回测数据与结果 | 回测数据随容器删除而消失 |
| 健康检查 | curl -sS http://127.0.0.1:5001,间隔 15s / 超时 10s / 重试 5 次 | 判断容器是否就绪 | 健康检查不过说明 Web 界面没起来 |
| 自动更新(可选) | compose 里可加 containrrr/watchtower(--cleanup --include-restarting) | 自动拉取新镜像并重启 | 自动更新意味着版本变化无人确认,实盘环境要谨慎 |
从源码安装 OctoBot 要对齐哪些前提:四个要点
这条路的坑都写在 CLAUDE.md 里,逐条对齐能省大量时间。
Python 版本必须是 3.13
setup.py的REQUIRES_PYTHON是>=3.13,分类器只列 3.13;pants.toml的解释器约束是==3.13.*。官方特别提醒:别写成==3.13,那只会匹配 3.13.0。预期:python3.13 -m venv .venv能正常创建虚拟环境。装 Pants(不随仓库附带)
用
scie-pants启动器安装一次,首次运行会引导下载pants.toml里指定的 2.30.0;pants --version打印 2.30.0 即完成。若内网取不到 pex,官方给出临时把pex-cli.url_template指向本地文件的临时方案(不要提交)。装依赖并理解「没有 lockfile」
Pants 配置里
enable_resolves = false,仓库不提交 lock 文件,每次直接按python_requirement解析。要本地调试可按官方示例创建 venv 并pip install -r requirements.txt -r full_requirements.txt。PYTHONPATH 必须写全且用绝对路径
官方给出的路径清单包含根目录与各 packages 子目录:不装 tentacles 时 15 项、装完后 16 项。原因是构建子进程会从 tentacle 子目录里运行,相对路径会解析失败。
setuptools 被钉在 79.0.1(官方注释:>=80 会破坏 easy_install),aiodns 钉在 3.1.1(官方注释:升到 3.2.0 不兼容且会导致 CI 失败)。改依赖前先读这两行注释。装完怎么确认它真的起来了
按你选的路径核对对应的几个信号。
| 现象 | 说明 | 处理方向 | 注意点 |
|---|---|---|---|
| Web 界面能打开(默认 5001) | 手动实例就绪 | 容器路线可用 docker ps 的 health 状态交叉确认 | Docker 健康检查就是 curl 这个端口 |
| node 模式能连上(8000) | 3.0 默认形态可用 | 确认端口映射与新界面访问方式 | beta 阶段功能可能不完整 |
| 界面里能看到策略模式 | tentacles 已加载 | 源码路线检查是否跑过 tentacles install | 见 Tentacles 页 |
| 日志有输出且无导入错误 | 依赖装全了 | 核对 requirements 与 PYTHONPATH | Docker 路线把 logs 卷挂出来才好查 |
| 数据目录出现文件 | user/ 等目录被写入 | 确认卷映射正确、有写权限 | 权限不足是容器部署的高频问题 |
| 能连上交易所(只读) | 凭据与网络可达 | 先用只读 Key 验证 | 本站未做任何连接实测 |
setup.py、requirements.txt、Dockerfile、docker-compose.yml 与 CLAUDE.md,未做实测。实际版本请以官方为准。安装与运行常见问题
能一键部署吗?
官方提供了 DigitalOcean Marketplace 的一键部署入口,Docker 命令也只有一行。但「一键」只覆盖启动这一步:端口、数据卷、交易所凭据、策略参数仍需自己配置,因此本站不使用「一键部署/开箱即用」的表述。
没有服务器,能用自己的电脑吗?
可以。README 明确说可免费运行在你自己的电脑、服务器或树莓派上,并给出最低硬件要求:1 核 1GHz、250MB 内存、1GB 磁盘。但要让机器人持续运行,机器得长期开着。
Docker 版要自己装 tentacles 吗?
通常不用:镜像构建时会按 TENTACLES_URL_TAG 取指定版本的 tentacles,并把 /octobot/tentacles 挂为数据卷。源码路线才需要手动执行安装命令。
为什么源码路线这么麻烦?
因为它是为「要改代码/做贡献」的人准备的:需要 Python 3.13、Pants 2.30.0 构建系统、以及包含 15–16 个路径的 PYTHONPATH。只想用不想改的话,可执行文件或 Docker 更合适。
watchtower 自动更新能一直开着吗?
compose 示例里确实带了 watchtower,它会在有新镜像时自动更新并重启容器。但自动升级意味着版本切换没有人工确认环节——对跑实盘的实例,这本身就是一个风险选择,建议自行评估。
装完就能开始交易吗?
不能直接实盘。官方建议流程是先回测、再模拟盘(paper trading),确认行为符合预期后才考虑接入真实资金;同时 README 的免责声明明确要求自负盈亏。具体见回测与模拟盘页。