mirror of
				https://github.com/songquanpeng/one-api.git
				synced 2025-11-04 15:53:42 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			47 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Docker
		
	
	
	
	
	
			
		
		
	
	
			47 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Docker
		
	
	
	
	
	
FROM --platform=$BUILDPLATFORM node:16 AS builder
 | 
						|
 | 
						|
WORKDIR /web
 | 
						|
COPY ./VERSION .
 | 
						|
COPY ./web .
 | 
						|
 | 
						|
RUN npm install --prefix /web/default & \
 | 
						|
    npm install --prefix /web/berry & \
 | 
						|
    npm install --prefix /web/air & \
 | 
						|
    wait
 | 
						|
 | 
						|
RUN DISABLE_ESLINT_PLUGIN='true' REACT_APP_VERSION=$(cat ./VERSION) npm run build --prefix /web/default & \
 | 
						|
    DISABLE_ESLINT_PLUGIN='true' REACT_APP_VERSION=$(cat ./VERSION) npm run build --prefix /web/berry & \
 | 
						|
    DISABLE_ESLINT_PLUGIN='true' REACT_APP_VERSION=$(cat ./VERSION) npm run build --prefix /web/air & \
 | 
						|
    wait
 | 
						|
 | 
						|
FROM golang:alpine AS builder2
 | 
						|
 | 
						|
RUN apk add --no-cache \
 | 
						|
    gcc \
 | 
						|
    musl-dev \
 | 
						|
    sqlite-dev \
 | 
						|
    build-base
 | 
						|
 | 
						|
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)' -linkmode external -extldflags '-static'" -o one-api
 | 
						|
 | 
						|
FROM alpine:latest
 | 
						|
 | 
						|
RUN apk add --no-cache ca-certificates tzdata
 | 
						|
 | 
						|
COPY --from=builder2 /build/one-api /
 | 
						|
 | 
						|
EXPOSE 3000
 | 
						|
WORKDIR /data
 | 
						|
ENTRYPOINT ["/one-api"] |