From d4fb35b1437b819a738b75d2e420a6b7aa88997b Mon Sep 17 00:00:00 2001 From: kyx236 Date: Sun, 1 Feb 2026 07:06:51 +0800 Subject: [PATCH] feat: Add team registration executable and API for auto-registration. --- Dockerfile | 8 +++++++- backend/internal/api/team_reg_exec.go | 17 ----------------- docker-compose.yml | 2 ++ 3 files changed, 9 insertions(+), 18 deletions(-) diff --git a/Dockerfile b/Dockerfile index 9b8eff9..96bc366 100644 --- a/Dockerfile +++ b/Dockerfile @@ -88,8 +88,13 @@ WORKDIR /app # Copy binary from builder COPY --from=backend-builder /app/codex-pool /app/codex-pool +# Copy team-reg executable (if exists) - for auto-registration feature +# 注意: 需要提供 Linux 版本的 team-reg 可执行文件 +COPY backend/team-reg* /app/ + # Create data directory -RUN mkdir -p /app/data +RUN mkdir -p /app/data && \ + chmod +x /app/team-reg* 2>/dev/null || true # Expose port EXPOSE 8848 @@ -100,3 +105,4 @@ HEALTHCHECK --interval=30s --timeout=10s --start-period=10s --retries=3 \ # Run the application ENTRYPOINT ["/app/codex-pool"] + diff --git a/backend/internal/api/team_reg_exec.go b/backend/internal/api/team_reg_exec.go index 42be9a7..7a955c6 100644 --- a/backend/internal/api/team_reg_exec.go +++ b/backend/internal/api/team_reg_exec.go @@ -454,34 +454,17 @@ func findTeamRegExecutable() string { filepath.Join("..", "..", "backend"), // ../../backend } - // 记录搜索过程 - logger.Info(fmt.Sprintf("[TeamReg] 当前工作目录: %s", cwd), "", "team-reg") - logger.Info(fmt.Sprintf("[TeamReg] 可执行文件路径: %s", execPath), "", "team-reg") - logger.Info(fmt.Sprintf("[TeamReg] 可执行文件目录: %s", execDir), "", "team-reg") - for _, basePath := range paths { for _, name := range names { fullPath := filepath.Join(basePath, name) if absPath, err := filepath.Abs(fullPath); err == nil { if _, err := os.Stat(absPath); err == nil { - logger.Info(fmt.Sprintf("[TeamReg] 找到文件: %s", absPath), "", "team-reg") return absPath } } } } - // 未找到,输出所有搜索过的路径到前端日志,方便排查 - addTeamRegLog("[错误] 已搜索以下路径均未找到 team-reg:") - addTeamRegLog(fmt.Sprintf(" 工作目录: %s", cwd)) - addTeamRegLog(fmt.Sprintf(" 可执行文件目录: %s", execDir)) - for _, basePath := range paths { - absPath, _ := filepath.Abs(basePath) - for _, name := range names { - addTeamRegLog(fmt.Sprintf(" - %s", filepath.Join(absPath, name))) - } - } - return "" } diff --git a/docker-compose.yml b/docker-compose.yml index a959a84..408140b 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -23,6 +23,8 @@ services: volumes: # 数据持久化 (配置文件和数据库) - ./data:/app/data + # Team-Reg 可执行文件 (需要 Linux 版本) + - ./backend/team-reg:/app/team-reg environment: - TZ=${TZ:-Asia/Shanghai} - CONFIG_PATH=/app/data/config.json