Sync production source including routing, billing, Astra detection and public uptime. Update custom build instructions and license packaging.
32 lines
1.1 KiB
Docker
32 lines
1.1 KiB
Docker
FROM oven/bun:1.4.0 AS web
|
|
WORKDIR /build/web
|
|
COPY web/package.json web/bun.lock ./
|
|
RUN bun install --frozen-lockfile
|
|
COPY web/ ./
|
|
RUN bun run build
|
|
|
|
FROM golang:1.25.1 AS build
|
|
ENV GOMAXPROCS=2 GOFLAGS=-p=2 GO111MODULE=on CGO_ENABLED=0 GOWORK=off
|
|
ARG TARGETOS
|
|
ARG TARGETARCH
|
|
ENV GOOS=${TARGETOS:-linux} GOARCH=${TARGETARCH:-amd64}
|
|
WORKDIR /build
|
|
COPY . .
|
|
COPY --from=web /build/web/dist ./web/dist
|
|
RUN --mount=type=cache,target=/go/pkg/mod \
|
|
--mount=type=cache,target=/root/.cache/go-build \
|
|
go build -buildvcs=false -ldflags "-s -w -X 'github.com/QuantumNous/new-api/common.Version=$(cat VERSION)'" -o new-api
|
|
|
|
FROM debian:bookworm-slim
|
|
RUN apt-get update \
|
|
&& apt-get install -y --no-install-recommends ca-certificates tzdata libasan8 wget \
|
|
&& rm -rf /var/lib/apt/lists/* \
|
|
&& update-ca-certificates
|
|
COPY --from=build /build/new-api /
|
|
COPY LICENSE NOTICE THIRD-PARTY-LICENSES.md /licenses/
|
|
COPY pkg/model_fingerprint/LICENSE-*.txt /licenses/model-fingerprint/
|
|
LABEL org.opencontainers.image.version="v1.0.0-rc.38-custom.42-20260926"
|
|
EXPOSE 3000
|
|
WORKDIR /data
|
|
ENTRYPOINT ["/new-api"]
|