Nie możesz wybrać więcej, niż 25 tematów Tematy muszą się zaczynać od litery lub cyfry, mogą zawierać myślniki ('-') i mogą mieć do 35 znaków.
 
 
 

47 wiersze
1.3 KiB

  1. # syntax=docker/dockerfile:1
  2. FROM oven/bun:latest AS builder
  3. # 使用淘宝镜像加速
  4. ENV BUN_INSTALL_REGISTRY=https://registry.npmmirror.com
  5. WORKDIR /build
  6. COPY web/package.json .
  7. COPY web/bun.lock .
  8. RUN --mount=type=cache,target=/root/.bun/install/cache bun install
  9. COPY ./web .
  10. COPY ./VERSION .
  11. RUN DISABLE_ESLINT_PLUGIN='true' VITE_REACT_APP_VERSION=$(cat VERSION) bun run build
  12. FROM swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/library/golang:1.26.1-alpine AS builder2
  13. ENV GO111MODULE=on CGO_ENABLED=0
  14. ENV GOPROXY=https://goproxy.cn,direct
  15. ARG TARGETOS
  16. ARG TARGETARCH
  17. ENV GOOS=${TARGETOS:-linux} GOARCH=${TARGETARCH:-amd64}
  18. WORKDIR /build
  19. ADD go.mod go.sum ./
  20. RUN --mount=type=cache,target=/go/pkg/mod go mod download
  21. COPY . .
  22. COPY --from=builder /build/dist ./web/dist
  23. RUN --mount=type=cache,target=/root/.cache/go-build go build -ldflags "-s -w -X 'github.com/QuantumNous/new-api/common.Version=$(cat VERSION)'" -o new-api
  24. FROM debian:bookworm-slim
  25. # 使用阿里云镜像源
  26. RUN sed -i 's/deb.debian.org/mirrors.aliyun.com/g' /etc/apt/sources.list.d/debian.sources
  27. RUN apt-get update \
  28. && apt-get install -y --no-install-recommends ca-certificates tzdata libasan8 wget \
  29. && rm -rf /var/lib/apt/lists/* \
  30. && update-ca-certificates
  31. COPY --from=builder2 /build/new-api /
  32. EXPOSE 3000
  33. WORKDIR /data
  34. ENTRYPOINT ["/new-api"]