Files
XQKqueue/server/Dockerfile
2026-08-01 22:42:02 +08:00

22 lines
775 B
Docker

ARG BUILD_IMAGE=golang:1.26.3-alpine
ARG RUNTIME_IMAGE=alpine:3.23
FROM ${BUILD_IMAGE} AS build
ARG GOPROXY=https://goproxy.cn,direct
ENV GOPROXY=${GOPROXY}
WORKDIR /src
COPY go.mod go.sum* ./
RUN go mod download
COPY . .
RUN CGO_ENABLED=0 go build -trimpath -ldflags="-s -w" -o /out/api ./cmd/api
RUN CGO_ENABLED=0 go build -trimpath -ldflags="-s -w" -o /out/migrate ./cmd/migrate
RUN CGO_ENABLED=0 go build -trimpath -ldflags="-s -w" -o /out/bootstrap-admin ./cmd/bootstrap-admin
FROM ${RUNTIME_IMAGE}
RUN addgroup -S app && adduser -S -G app app
COPY --from=build /out/api /usr/local/bin/api
COPY --from=build /out/migrate /usr/local/bin/migrate
COPY --from=build /out/bootstrap-admin /usr/local/bin/bootstrap-admin
USER app
EXPOSE 8080
ENTRYPOINT ["/usr/local/bin/api"]