feat: Add team registration executable and API for auto-registration.
This commit is contained in:
@@ -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"]
|
||||||
|
|
||||||
|
|||||||
@@ -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 ""
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user