# 用于 Hugging Face Space 部署的alists主Dockerfile FROM golang:1.21-alpine AS build WORKDIR /build # 复制 go.mod 和 go.sum 以利用 Docker 缓存 COPY go.mod go.sum ./ RUN apk add --no-cache git && go mod download # 复制剩余源码并编译 COPY . . RUN CGO_ENABLED=0 GOOS=linux go build -trimpath -ldflags="-s -w" -o /app/alist main.go # 生产阶段 FROM alpine:3.19 WORKDIR /app # 拷贝可执行文件和入口脚本 COPY --from=build /app/alist /app/alist COPY entrypoint.sh /app/entrypoint.sh # 可选:拷贝必要的静态资源等,如果需要可用以下行 # COPY public /app/public # COPY config /app/config # 必须赋予启动脚本可执行 RUN chmod +x /app/entrypoint.sh # 端口,Hugging Face Space 默认探测 EXPOSE 7860 # HEALTHCHECK:确保平台探测健康,默认 get /ping (alist部分版本支持)可按需调整 HEALTHCHECK --interval=30s --timeout=5s --start-period=10s --retries=3 CMD wget -qO- http://localhost:7860/ping || exit 1 # 入口 ENTRYPOINT ["/app/entrypoint.sh"]