hhdcz06/python3
0
1# =============================================================================2# AxonHub02 — HF Space「python:3.13 换底」版3# =============================================================================4# 变更:基础镜像从 looplj/axonhub(Alpine 3.24) 换成 python:3.13-slim(trixie)。5# 应用来源钉死 v1.0.0-beta3(线上正在跑的版本)—— 只换底,不升版本。6#7# 为什么能换:/app/axonhub 是纯静态 Go 二进制8# (readelf: 无 PT_INTERP、无 NEEDED),Alpine(musl)→Debian(glibc) 也无所谓。9#10# 原镜像以 root 跑(官方 Dockerfile 特意注释:为了兼容旧镜像建的 SQLite 目录),11# 这里沿用 root —— 换底已经改了 libc 家族,用户身份也换会叠加变量。12#13# 存储:SQLite 相对路径 axonhub.db → 落在 WORKDIR /app 下,14# 所以 /app 必须可写(HF 以 UID 1000 跑,放开写权限)。15# =============================================================================16 17# ---------------------------------------------------------------------------18# 阶段一:应用来源(钉住线上版本)19# ---------------------------------------------------------------------------20FROM looplj/axonhub:v1.0.0-beta3 AS src21 22# ---------------------------------------------------------------------------23# 阶段二:python 3.13 底板24# ---------------------------------------------------------------------------25FROM python:3.13-slim26 27# 原镜像的运行时依赖:ca-certificates(HTTPS) / tzdata(TZ)28RUN apt-get update && apt-get install -y --no-install-recommends \29 ca-certificates \30 tzdata \31 curl \32 && rm -rf /var/lib/apt/lists/*33 34ENV TZ=Asia/Shanghai35ENV AXONHUB_SERVER_PORT=786036 37# --- 搬应用 ---38COPY --from=src /app/axonhub /app/axonhub39RUN chmod 755 /app/axonhub40 41# /app 必须可写:SQLite axonhub.db 与 logs/ 都落在这里(HF 以 UID 1000 运行)42RUN chmod 777 /app43 44WORKDIR /app45 46EXPOSE 786047 48# 原镜像没有自检;加上(axonhub 自带 /health,实测免鉴权)49HEALTHCHECK --interval=30s --timeout=5s --start-period=20s --retries=3 \50 CMD curl -sf http://localhost:7860/health || exit 151 52ENTRYPOINT ["/app/axonhub"]53 