18 lines
648 B
Docker
18 lines
648 B
Docker
FROM golang:1.26.3-alpine AS build
|
|
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 alpine:3.23
|
|
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"]
|