ai-gateway/Dockerfile

30 lines
735 B
Docker
Raw Permalink Normal View History

2023-07-09 12:43:18 +00:00
# Node build stage
FROM node:18 as builder
2023-04-22 12:39:27 +00:00
WORKDIR /build
2023-07-09 12:43:18 +00:00
COPY ./web/package*.json ./
RUN npm ci
2023-04-22 12:39:27 +00:00
COPY ./web .
COPY ./VERSION .
2023-07-20 11:55:22 +00:00
RUN REACT_APP_VERSION=$(cat VERSION) npm run build
2023-04-22 12:39:27 +00:00
2023-07-09 12:43:18 +00:00
# Go build stage
2023-04-22 12:39:27 +00:00
FROM golang AS builder2
ENV GO111MODULE=on \
CGO_ENABLED=1 \
GOOS=linux
WORKDIR /build
2023-07-09 12:43:18 +00:00
COPY go.mod .
COPY go.sum .
RUN go mod download
2023-04-22 12:39:27 +00:00
COPY . .
COPY --from=builder /build/build ./web/build
2023-04-22 13:14:09 +00:00
RUN go build -ldflags "-s -w -X 'one-api/common.Version=$(cat VERSION)' -extldflags '-static'" -o one-api
2023-04-22 12:39:27 +00:00
2023-07-09 12:43:18 +00:00
# Final stage
2023-04-22 12:39:27 +00:00
FROM alpine
2023-07-09 12:43:18 +00:00
RUN apk update && apk upgrade && apk add --no-cache ca-certificates tzdata && update-ca-certificates 2>/dev/null || true
WORKDIR /data
2023-04-22 13:14:09 +00:00
COPY --from=builder2 /build/one-api /
2023-04-22 12:39:27 +00:00
EXPOSE 3000
2023-04-22 13:14:09 +00:00
ENTRYPOINT ["/one-api"]