15 Commits

Author SHA1 Message Date
WrBug 727fa7ed58 fix: 支持部署时连接宿主机 MySQL
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-10 01:02:55 +08:00
WrBug 261dbdc23c feat(deploy): DOCKER_VERSION 支持从 .env 读取
版本号优先级:环境变量 > .env 中的 DOCKER_VERSION > 当前分支名
提示文案更新为可在 .env 或环境变量中设置

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-14 06:26:38 +08:00
WrBug b79caceae6 fix: CLOB /time 用 ResponseBody 解析纯数字并支持 DOCKER_VERSION 环境变量
- PolymarketClobApi: getServerTime() 改为 Response<ResponseBody>,/time 返回纯时间戳非 JSON
- PolymarketApiKeyService: 抽取 fetchServerTimeOrNull() 复用,解析 body 为 Long
- deploy.sh: DOCKER_VERSION 支持环境变量,未设置时仍用分支名

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-14 06:11:22 +08:00
WrBug 419c68c024 fix: 修复本地 Docker 构建时 frontend/dist 和 backend/build 不存在的问题
- 移除 Dockerfile 中无效的 COPY frontend/dist 指令
- 改进前端构建逻辑,添加外部产物检查
- 改进后端构建逻辑,支持复制外部构建的 JAR 文件
- 在 deploy.sh 中添加创建占位符目录步骤,避免 COPY 失败
- 保持与 GitHub Actions 构建流程的兼容性(BUILD_IN_DOCKER=false)

修复了本地使用 ./deploy.sh 部署时的构建错误:
"failed to calculate checksum: /frontend/dist: not found"
2026-01-21 21:04:25 +08:00
WrBug d376a82ccc feat: 添加市场信息管理和订单ID复制功能
- 新增市场信息表和服务,支持市场名称缓存和自动更新
  - 创建 Market 实体和 MarketRepository
  - 实现 MarketService 提供市场信息查询和缓存
  - 实现 MarketPollingService 每30秒自动检查并更新缺失的市场信息
  - 添加数据库迁移 V19 创建 markets 表

- 订单列表显示市场名称
  - 在 BuyOrderInfo、SellOrderInfo、MatchedOrderInfo 中添加 marketTitle 字段
  - 订单查询时自动查询并填充市场名称
  - 前端订单列表显示市场名称(优先显示名称,ID作为辅助信息)

- 前端订单ID复制功能
  - 添加 isAutoGeneratedOrderId 和 copyToClipboard 工具函数
  - 非自动生成的订单ID支持一键复制
  - 买入、卖出、匹配订单列表均支持复制功能

- 仓位检查延迟检测机制优化
  - 首次检测到仓位不存在时先记录,3分钟后再次检查
  - 避免因API延迟导致的误判
2026-01-08 11:56:52 +08:00
WrBug 9a00bb19dc feat: 添加 Docker 部署日志级别环境变量支持
- 在 application.properties 中支持通过 LOG_LEVEL_ROOT 和 LOG_LEVEL_APP 环境变量配置日志级别
- 在 docker-compose.yml 和 docker-compose.prod.yml 中添加日志级别环境变量配置
- 在 deploy.sh 的 .env 模板中添加日志级别配置说明
- 支持通过环境变量动态配置日志级别,无需修改配置文件
- 默认值:root=INFO, app=DEBUG
2026-01-07 11:26:03 +08:00
WrBug ec06003157 feat: 自动使用当前分支名作为 Docker 版本号
- deploy.sh 自动获取当前 Git 分支名作为版本号
- 分支名中的 / 自动替换为 -(Docker tag 不支持 /)
- docker-compose.yml 启用 build args,从环境变量读取版本号
- 前端页面将显示当前分支名作为版本号
- 如果没有 Git 仓库或获取失败,使用默认值 'dev'
2026-01-01 22:10:21 +08:00
WrBug 89fb980da7 refactor: 移除 polygon.rpc.url 配置,使用 RpcNodeService 统一管理 RPC 节点
- 删除 application.properties 中的 polygon.rpc.url 配置
- 更新 ApiHealthCheckService 直接使用 RpcNodeService.getHttpUrl()
- 删除所有 Docker Compose 配置中的 POLYGON_RPC_URL 环境变量
- 删除所有部署脚本中的 POLYGON_RPC_URL 环境变量
- 更新所有文档,移除 POLYGON_RPC_URL 相关说明
- 删除 application.properties 中无用的 position.push 配置项
- 修正日志配置中的包名(polyhermes -> polymarketbot)

现在系统通过 RpcNodeService 从数据库读取 RPC 节点配置,用户可以通过系统设置页面管理 RPC 节点,不再需要环境变量配置。
2025-12-28 04:51:07 +08:00
WrBug 7d752073fb feat: 添加安全检查和部署优化
- 添加 JWT_SECRET 和 ADMIN_RESET_PASSWORD_KEY 安全检查,防止使用默认值
- 创建 docker-compose.prod.yml 和 docker-compose.prod.env.example,支持独立部署
- 添加 Nginx 反向代理配置示例,支持 HTTPS 和域名绑定
- 更新部署文档,将 Docker Hub 部署方式放在首位
- 添加多架构构建支持(amd64、arm64)
- 优化部署文档结构,提供更清晰的部署指南
2025-12-07 17:08:56 +08:00
WrBug b069e54b89 feat: 添加版本号显示和自动构建/删除 Docker 镜像功能
- 添加前端版本号显示(桌面端和移动端)
- 实现 GitHub Actions 自动构建和推送 Docker 镜像
- 实现删除 release 时自动删除对应 Docker 镜像
- 支持版本号格式:v数字.数字.数字 或 v数字.数字.数字-后缀
- 添加版本号管理文档
- 更新 Dockerfile 和部署脚本支持版本号构建参数
2025-12-07 16:46:18 +08:00
WrBug d47542c5c9 feat: 在创建 .env 文件时自动生成随机密码和密钥
- 添加 generate_random_string 函数生成随机字符串
- 自动生成 DB_PASSWORD(32 字符)
- 自动生成 JWT_SECRET(64 字符)
- 自动生成 ADMIN_RESET_PASSWORD_KEY(32 字符)
- 更新提示信息,显示生成的值的前 8 个字符
- 适用于 deploy.sh 和 backend/deploy.sh
2025-12-03 05:46:55 +08:00
WrBug bb671bfd89 fix: 修复 MySQL 连接配置并合并数据库迁移文件
- 修复 MySQL 连接配置
  - 添加 allowPublicKeyRetrieval=true 参数(解决 Public Key Retrieval 错误)
  - 将 characterEncoding=utf8mb4 改为 utf8(兼容性修复)
  - 更新所有配置文件:docker-compose.yml, deploy.sh, docs/DEPLOYMENT.md

- 合并数据库迁移文件
  - 将 V1, V2, V3 迁移文件合并为一个 V1__init_database.sql
  - 删除 V2__create_proxy_config_table.sql
  - 删除 V3__rename_copy_trading_accounts_to_wallet_accounts.sql
  - 新的 V1 包含所有表结构(11 个表)
2025-12-03 05:16:44 +08:00
WrBug 58cc096a77 feat: 重命名项目为 PolyHermes 并添加下单签名前日志
- 将所有 polymarket-bot 相关名称改为 PolyHermes
  - 容器名称: polyhermes, polyhermes-mysql, polyhermes-backend
  - 数据库名称: polyhermes
  - 应用名称: polyhermes-backend, polyhermes-frontend
  - 网络名称: polyhermes-network
  - 更新所有配置文件和文档

- 在 OrderSigningService 中添加下单签名前的详细日志输出
  - 输出订单方向、价格、数量、地址、金额等所有参数
  - 便于调试和排查下单问题
2025-12-03 04:01:45 +08:00
WrBug 950acfeb04 fix: 修改 MySQL 默认端口映射为 3307,避免与本地 MySQL 冲突
- 将 docker-compose.yml 中 MySQL 端口映射默认值改为 3307
- 更新 deploy.sh 中的示例配置
- 容器内部仍使用 3306,仅外部映射端口改为 3307
- 容器间通信不受影响(通过 Docker 网络)
2025-12-03 03:42:21 +08:00
WrBug 1216fc5ed5 feat: 添加前后端一体化 Docker 部署支持
- 创建根目录 Dockerfile,支持前后端一起部署到一个容器
- 添加 Nginx 配置,自动代理后端 API 和 WebSocket
- 创建启动脚本,同时启动后端和 Nginx
- 更新 docker-compose.yml 支持一体化部署
- 创建一体化部署脚本 deploy.sh
- 修复前端环境变量支持,默认使用相对路径
- 优化部署脚本:.env 文件不存在时创建后终止部署
- 更新部署文档,添加一体化部署说明
2025-12-03 03:08:53 +08:00