feat: Add team registration executable and API for auto-registration.

This commit is contained in:
2026-02-01 07:06:51 +08:00
parent d7cfa00349
commit d4fb35b143
3 changed files with 9 additions and 18 deletions

View File

@@ -88,8 +88,13 @@ WORKDIR /app
# Copy binary from builder # Copy binary from builder
COPY --from=backend-builder /app/codex-pool /app/codex-pool 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 # 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 port
EXPOSE 8848 EXPOSE 8848
@@ -100,3 +105,4 @@ HEALTHCHECK --interval=30s --timeout=10s --start-period=10s --retries=3 \
# Run the application # Run the application
ENTRYPOINT ["/app/codex-pool"] ENTRYPOINT ["/app/codex-pool"]

View File

@@ -454,34 +454,17 @@ func findTeamRegExecutable() string {
filepath.Join("..", "..", "backend"), // ../../backend 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 _, basePath := range paths {
for _, name := range names { for _, name := range names {
fullPath := filepath.Join(basePath, name) fullPath := filepath.Join(basePath, name)
if absPath, err := filepath.Abs(fullPath); err == nil { if absPath, err := filepath.Abs(fullPath); err == nil {
if _, err := os.Stat(absPath); err == nil { if _, err := os.Stat(absPath); err == nil {
logger.Info(fmt.Sprintf("[TeamReg] 找到文件: %s", absPath), "", "team-reg")
return absPath 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 "" return ""
} }

View File

@@ -23,6 +23,8 @@ services:
volumes: volumes:
# 数据持久化 (配置文件和数据库) # 数据持久化 (配置文件和数据库)
- ./data:/app/data - ./data:/app/data
# Team-Reg 可执行文件 (需要 Linux 版本)
- ./backend/team-reg:/app/team-reg
environment: environment:
- TZ=${TZ:-Asia/Shanghai} - TZ=${TZ:-Asia/Shanghai}
- CONFIG_PATH=/app/data/config.json - CONFIG_PATH=/app/data/config.json