zai2api / Dockerfile
bg5's picture
部署 zai2api 到 HF Space
ca50bff verified
Raw History Blame Contribute Delete
1.2 kB
FROM golang:1.25-alpine AS go-builder
ENV GOPROXY=https://goproxy.cn,direct
WORKDIR /src
COPY go.mod go.sum ./
RUN go mod download
COPY . .
RUN CGO_ENABLED=0 GOOS=linux go build -ldflags="-s -w" -o /zai2api ./cmd/main.go
FROM node:20-bookworm-slim
ENV DEBIAN_FRONTEND=noninteractive \
BROWSER_BACKEND=playwright \
CHROMIUM_PATH=/usr/bin/chromium \
CAPTCHA_PROVIDER_URL=http://127.0.0.1:9876 \
LOG_LEVEL=info \
PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD=1
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
ca-certificates \
chromium \
fonts-noto-cjk \
tini \
&& rm -rf /var/lib/apt/lists/*
WORKDIR /app
COPY --from=go-builder --chown=node:node /zai2api /app/zai2api
COPY --chown=node:node captcha-provider/package*.json /app/captcha-provider/
RUN cd /app/captcha-provider \
&& npm ci --omit=dev \
&& npm cache clean --force
COPY --chown=node:node captcha-provider /app/captcha-provider
COPY --chown=node:node start-space.sh /app/start-space.sh
RUN mkdir -p /app/data \
&& chown -R node:node /app \
&& chmod +x /app/start-space.sh
USER node
EXPOSE 7860
ENTRYPOINT ["tini", "--"]
CMD ["/app/start-space.sh"]