mirror of
				https://github.com/songquanpeng/one-api.git
				synced 2025-11-04 07:43:41 +08:00 
			
		
		
		
	* feat: fast build linux/arm64 frontend * fix: dockerfile as replace to AS * fix: trim space
		
			
				
	
	
		
			44 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Docker
		
	
	
	
	
	
			
		
		
	
	
			44 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Docker
		
	
	
	
	
	
FROM --platform=$BUILDPLATFORM node:16 AS builder
 | 
						|
 | 
						|
WORKDIR /web
 | 
						|
COPY ./VERSION .
 | 
						|
COPY ./web .
 | 
						|
 | 
						|
WORKDIR /web/default
 | 
						|
RUN npm install
 | 
						|
RUN DISABLE_ESLINT_PLUGIN='true' REACT_APP_VERSION=$(cat VERSION) npm run build
 | 
						|
 | 
						|
WORKDIR /web/berry
 | 
						|
RUN npm install
 | 
						|
RUN DISABLE_ESLINT_PLUGIN='true' REACT_APP_VERSION=$(cat VERSION) npm run build
 | 
						|
 | 
						|
WORKDIR /web/air
 | 
						|
RUN npm install
 | 
						|
RUN DISABLE_ESLINT_PLUGIN='true' REACT_APP_VERSION=$(cat VERSION) npm run build
 | 
						|
 | 
						|
FROM golang:alpine AS builder2
 | 
						|
 | 
						|
RUN apk add --no-cache g++
 | 
						|
 | 
						|
ENV GO111MODULE=on \
 | 
						|
    CGO_ENABLED=1 \
 | 
						|
    GOOS=linux
 | 
						|
 | 
						|
WORKDIR /build
 | 
						|
ADD go.mod go.sum ./
 | 
						|
RUN go mod download
 | 
						|
COPY . .
 | 
						|
COPY --from=builder /web/build ./web/build
 | 
						|
RUN go build -trimpath -ldflags "-s -w -X 'github.com/songquanpeng/one-api/common.Version=$(cat VERSION)' -extldflags '-static'" -o one-api
 | 
						|
 | 
						|
FROM alpine
 | 
						|
 | 
						|
RUN apk update \
 | 
						|
    && apk upgrade \
 | 
						|
    && apk add --no-cache ca-certificates tzdata \
 | 
						|
    && update-ca-certificates 2>/dev/null || true
 | 
						|
 | 
						|
COPY --from=builder2 /build/one-api /
 | 
						|
EXPOSE 3000
 | 
						|
WORKDIR /data
 | 
						|
ENTRYPOINT ["/one-api"] |