binance-trading-bot 安装部署指南:30 分钟从零起步并接入 Binance

发布时间:2026/10/12 13:21:57

binance-trading-bot 安装部署指南:30 分钟从零起步并接入 Binance 金融科技后端前端【免费下载链接】binance-trading-botAutomated Binance trading bot with pluggable strategies, historical backtesting, and a live dashboard项目地址https://gitcode.com/gh_mirrors/bi/binance-trading-bot点击查看免费下载本指南是 binance-trading-bot 的完整首次部署手册覆盖从一台干净的 Linux 服务器上克隆仓库、配置.env、启动 Docker Compose 全栈、创建操作员账号到在 Binance 控制台生成并安全绑定 API 密钥的全过程。读完本文你将掌握该项目的标准单机部署命令、健康检查手段与密钥安全基线并能在此基础上继续配置你的第一个交易策略档案profile。本文以仓库内 docs/get-started/install.md 为主线并补充了deploy/compose/docker-compose.yml、.env.example、apps/server/Dockerfile等源码级佐证帮助你理解每一步背后的实现原理。部署目标与前置条件一次完整的首次部署大约需要30 分钟在干净机器上。在动手之前请确认以下四项前提一台小规格 Linux 服务器便宜的云虚拟机即可建议 2 vCPU、4 GB 内存、20 GB 磁盘。Docker 24 与 Docker Compose 2.20整个应用以容器方式运行无需手工安装任何运行时依赖。出站 HTTPS 连通性需要能访问 Binance 的api.binance.com与wss://stream.binance.com行情 WebSocket 流。一个 Binance 账户API 密钥在第 6 步创建。第一步克隆仓库git clone https://gitcode.com/gh_mirrors/bi/binance-trading-bot.git cd binance-trading-bot注意仓库根目录下没有 compose 文件因此后续所有 Docker Compose 命令都必须显式指定-f deploy/compose/docker-compose.yml直接执行裸docker compose up会失败。第二步创建.envcp .env.example .env.env是一个纯文本文件存放应用在启动时读取的全部进程级配置与密钥。它绝不能提交到版本库或对外分享——其中包含密码与凭据。仓库根目录的 .env.example 是环境变量的单一事实来源single source of truth顶部注释明确了两条工作流主机开发bun run devbun run setup会自动复制并处理.envDocker Compose 部署cp .env.example .env后由docker compose --env-file .env读取。复制完成后编辑.env并重点设置以下两项WEB_ORIGIN改为你将要访问应用的地址例如WEB_ORIGINhttps://bot.example.com。该值是一组逗号分隔的精确scheme://host:port列表它同时门控 CORS、Better Auth 的 CSRF 防护与 WebSocket 升级见 apps/api/src/middleware/cors.ts 与 apps/api/src/routes/ws.ts。注意不支持*通配符因为携带凭据的跨域请求规范上禁止通配。DATABASE_URL与REDIS_URL保持默认即可在 Docker Compose 场景下compose 文件内部会供应网内地址postgres:5432、redis:6379详见下文“理解整个栈的组成”。其余变量都有可用的默认值需要调整时参考 环境变量参考该页表格由代码中的 env 目录自动生成每个默认值都经过进程实际解析 schema 的断言校验。第三步生成会话密钥AUTH_SECRET用于签发登录 Cookie。启动时该值会被 Zod schema 校验最短 32 字符见 apps/api/src/env.ts 中的z.string().min(32)不满足则启动失败。因此必须生成一个真正的随机密钥sed -i.bak s|^AUTH_SECRET.*|AUTH_SECRET$(openssl rand -hex 32)| .env rm .env.bak.env.example中的占位值REPLACE_ME是刻意保持很短的——这样一份未经编辑的拷贝会在启动时直接失败而不是带着一个公开已知的密钥悄悄跑起来。在生产覆盖docker-compose.prod.yml中则改用_FILE形式的 Docker Secrets见 生产部署与运维。第四步启动整个栈docker compose -f deploy/compose/docker-compose.yml --env-file .env up -d上面的命令是基础的“单进程全栈”形态。启动顺序与关键机制如下Postgres 与 Redis 先启动app服务等待它们健康基础 compose 文件为两个存储服务都声明了 healthcheckPostgres 用pg_isreadyRedis 用redis-cli pingapp通过depends_on: condition: service_healthy等待其通过而不是仅仅等待容器创建见 deploy/compose/docker-compose.yml。数据库迁移在启动时自动执行镜像入口脚本docker-entrypoint.sh在 exec 应用之前先运行迁移二进制/app/dist/migrate.js所以无需手工执行任何迁移命令除非设置SKIP_MIGRATIONS1显式跳过见 apps/server/docker-entrypoint.sh。迁移失败会让容器以非零码退出、readiness 永不就绪编排器会退避而不是带着旧 schema 提供服务。单一app服务跑整个应用通过ROLEall在一个进程内同时运行 api同源托管构建好的 SPA、实时 worker 与回测/研报 consumer。要横向拆分可叠加deploy/compose/docker-compose.scale.yml从同一镜像派生独立的api/worker/study服务。启动后检查健康状态docker compose ps # every service shows (healthy) curl -fsS http://127.0.0.1:9100/healthz # api liveness curl -fsS http://127.0.0.1:9100/readyz # api readiness (DB Redis)其中9100是 api 的管理端口ADMIN_PORThealthz只做存活探针readyz会真实探测 Postgres、Redis 与队列连接。实现位于 apps/api/src/routes/health.tsreadyz依次执行select 1、Redisping、队列客户端ping任何一步失败都返回503 not_ready。值得一提的是healthz还被同时挂载在公共入口上纯存活、不泄露内部状态而readyz与/metrics只在回环管理监听器上暴露这是源码中刻意为之的安全边界。理解整个栈的组成app服务构建自 apps/server/Dockerfile基于oven/bun的 alpine 镜像一次构建同时产出服务端入口/app/dist/index.js与迁移 CLI/app/dist/migrate.js构建好的 SPA/app/web由 api 角色同源托管postgresql17-client供应用内备份/恢复的pg_dump/pg_restore使用密码重置 CLI/app/dist/reset-password.js生产环境找回操作员账号的离线通道。基础 compose 文件默认启用了cap_drop: [ALL]与no-new-privileges: true加固生产覆盖进一步叠加read_only: true/tmptmpfs、restart: unless-stopped、资源限额与日志滚动。Postgres 使用 TimescaleDB 镜像timescale/timescaledb为时间序列数据行情、快照、审计提供扩展能力。第五步创建操作员账号在浏览器打开WEB_ORIGIN指向的地址首次运行界面会引导你创建主账号master account。没有邮箱验证也没有第二因素——这是一个单操作员single-operator应用系统在每一层都强制“只有一个操作员”onboarding 路由、user.create.before钩子、单点登录的disableImplicitSignUp以及用户表上的唯一索引共同拒绝第二个操作员详见 认证架构与威胁模型。第六步创建 Binance API 密钥API 密钥是一对长字符串key与secret让机器人无需你的密码即可代表你的 Binance 账户操作。在 Binance 控制台的API Management中创建新密钥时遵循以下安全基线开启“Enable Reading”允许机器人读取钱包余额与账户快照。开启“Enable Spot Margin Trading”允许它下单与撤单。保持“Enable Withdrawals”关闭机器人永远不需要提现权限这是“即使密钥泄露也无法把资金转出交易所”的第一道防线。该页面是这些权限的权威参考API 密钥页面。开启“Restrict access to trusted IPs only”并把你服务器的出口 IP 加入白名单在虚拟机上执行curl -s ifconfig.me查看。这是最重要的安全步骤即使密钥泄露它也只在你的服务器上有效。!!! danger 机器人以明文存储 API 密钥 密钥以纯文本保存在数据库中。上述 IP 白名单才是让泄露密钥失效的关键缓解措施。这一取舍的完整解释见 认证架构与威胁模型——系统本身不带静态加密encryption-at-rest对密钥泄露的防护完全落在操作员侧关闭提现权限 IP 白名单。REST 客户端还只在被签名的请求上附加X-MBX-APIKEY头未签名的公开行情读取不会携带任何凭据。第七步在面板中连接密钥打开你账户的API keys页面粘贴密钥与秘钥。机器人会立即向 Binance 校验它们校验通过后状态显示为绿色。已绑定密钥的页面只回显最后 4 个字符秘钥永不再显示未绑定时页面显示“No key bound to this profile yet”与Add API key按钮可选 Label、API key、API secret 三项。整个密钥接入的端到端流程密钥绑定后的校验机制从源码结构看密钥校验发生在你粘贴并保存之后页面上的Verification状态Verified ✓、Failed或Verifying…由后端向 Binance 发起一次真实鉴权请求来判定。密钥一旦绑定成功账户级别的交易面即被激活——后续每个交易档案profile都会基于这份凭据去拉取余额、快照并下单。常见环境变量速览以下变量在首次部署中最常被调整完整列表见 环境变量参考变量默认值说明WEB_ORIGINhttp://localhost:5173SPA 来源的精确允许列表门控 CORS / CSRF / WebSocket 升级AUTH_SECRETREPLACE_ME占位登录 Cookie 签名密钥Zod 强制最短 32 字符DATABASE_URLcompose 内为postgres://...postgres:5432/...Compose 部署下保持默认网内 DNS 解析REDIS_URLcompose 内为redis://redis:6379同上生产覆盖下需带上--requirepass的密码ROLEall单进程运行 api live worker study可拆分为api/worker/studyAPP_HTTP_PORT80生产覆盖主机上发布 api 入口api SPA 同源的端口LIVE_DEMO0公开测试网沙箱开关仅1/true启用PGSSLMODEpreferlibpq 子进程pg_dump/restore的 SSL 模式所有进程级设置都只存在于.env修改后需要重启生效而每个交易档案的行情、指标、通知器等交易设置不是环境变量它们存在数据库中、在应用内编辑见 配置你的第一个档案。下一步你的机器人已经运行并连接 Binance但尚未开始交易。接下来继续阅读 配置你的第一个档案创建 profile、选择策略trailing trade / momentum / rebalance、设定币种与预算按需接入通知器Slack / Telegram让机器人在买卖或出错时主动给你发消息见 通知器上线真实资金前完成 Go live 页面的预检流程进入正式生产环境TLS、密钥文件、镜像 pin、运维命令时参考 生产部署与运维。部署完成后把这份清单里的命令保存为你的操作手册——日常查看日志用docker compose logs -f app停止服务用docker compose down卷会保留所有运维命令都需要像第四步那样显式携带 compose 文件路径与--env-file .env。赞分享金融科技后端前端【免费下载链接】binance-trading-botAutomated Binance trading bot with pluggable strategies, historical backtesting, and a live dashboard项目地址https://gitcode.com/gh_mirrors/bi/binance-trading-bot点击查看免费下载相关推荐binance-trading-bot 运维部署实战干净 VM 30 分钟上线完整 runbookbinance trading bot 运维部署实战干净 VM 30 分钟上线完整 runbook 本篇是 binance trading bot 面向运维人金融科技后端前端agent-skills中的项目管理技巧确保项目按时交付的关键策略agent skills中的项目管理技巧确保项目按时交付的关键策略 在软件开发项目中按时交付是衡量项目成功的重要指标之一。agent skills作为一套面AI 技能开发工具AI 评测BenchmarkBinance-volatility-trading-bot 使用教程Binance volatility trading bot 使用教程 1. 项目的目录结构及介绍 Binance volatility trading bot金融科技区块链创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
延伸阅读

更多相关文章

2026/10/12 13:16:56

声辐射计算中格林函数的坐标系选择与工程实践

1. 声辐射问题中格林函数的坐标系选择逻辑1.1 为什么格林函数是声辐射计算的基石做声辐射仿真或者解析计算的人,绕不开的一个核心工具就是格林函数。说白了,格林函数就是描述“一个点源在空间中产生的声场响应”的数学表达。你给它一个单位强度的点声源&…

2026/10/12 13:16:56

从离散到连续:条件分布与条件密度函数详解

1. 从一维到二维:为什么条件分布才是真正理解随机世界的钥匙很多人学概率论,一维随机变量玩得挺溜,什么二项分布、正态分布、泊松分布,公式背得滚瓜烂熟,题目也能做。但一到二维随机变量,尤其是条件分布这块…

2026/10/12 13:16:56

产品痛点拆解方法论:从用户行为到可验证需求的系统化实践

1. 痛点不是“找”出来的,是“拆”出来的做产品的人聚在一起,三句话离不开“痛点”这个词。但你要是追问一句“你打算怎么找”,十有八九得到的回答是“多跟用户聊”“多看竞品评论”“泡在社群里观察”。这些答案都对,但都停留在“…

2026/10/12 20:08:34

三相MMC并网逆变器:拓扑、控制与调试要点全解析

入行电力电子这几年,接触过的拓扑不算少,但三相MMC(模块化多电平换流器)并网逆变器第一次跑通仿真时,我还是忍不住想多说几句——它用一串低压子模块就叠出了中高压等级的输出波形,完全绕开了“单个管子硬扛…

2026/10/11 0:02:13

Python调用Gemini Structured Outputs实现工单路由门禁

客服工单最怕的不是模型“答错一句话”,而是它给出一段看起来合理的说明,程序却从中猜错优先级。通俗做法是:要求模型只交 JSON(JavaScript Object Notation,轻量数据格式),再让代码验证它。Gem…

2026/10/12 12:01:26

Spring Boot超市进销存系统毕设实战:从需求拆解到答辩通关

最近带的一个学生项目组里,有A同学跑来问我:选什么毕设题目最稳妥,既能让评审老师觉得工作量够,又不会在答辩时被问到语无伦次。我第一反应就是推荐基于Spring Boot的超市仓库管理系统——也就是超市进销存系统。这个题目乍一看平…

2026/10/12 12:54:07

Flutter StatefulWidget 生命周期核心解析

很多刚开始接触 Flutter 的朋友,在看完一堆“Hello World”和基础组件之后,大概率都会撞上同一堵墙:StatefulWidget 里那堆 initState、build、dispose 方法,到底什么时候被调用?为什么顺序是那样?在里面到…

2026/10/12 0:04:22

绝缘子缺陷检测数据集清洗与工业级训练实战指南

简介:本资源是面向电力AI研发人员、工业视觉工程师及智能巡检系统开发者的绝缘子缺陷检测专用YOLO格式数据集,解决无人机航拍场景下绝缘子破损、污闪、积雪等9类典型缺陷的精准识别与定位难题。数据集共2139张真实巡检图像(含训练/验证/测试集…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑