| |
| |
| |
| FROM oven/bun:latest AS builder |
|
|
| WORKDIR /build |
|
|
| COPY web/package.json web/bun.lock ./ |
| RUN bun install |
|
|
| COPY web ./web |
| COPY VERSION ./VERSION |
|
|
| RUN DISABLE_ESLINT_PLUGIN=true \ |
| VITE_REACT_APP_VERSION=$(cat VERSION) \ |
| bun run build |
|
|
| |
| |
| |
| FROM golang:1.22-alpine AS builder2 |
|
|
| ENV CGO_ENABLED=0 GO111MODULE=on |
| WORKDIR /build |
|
|
| COPY go.mod go.sum ./ |
| RUN go mod download |
|
|
| COPY . . |
| COPY --from=builder /build/dist ./web/dist |
|
|
| RUN go build -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=builder2 /build/new-api /new-api |
|
|
| EXPOSE 3000 |
| WORKDIR /data |
| ENTRYPOINT ["/new-api"] |
|
|