build stuff
This commit is contained in:
29
Dockerfile-BuildKit
Normal file
29
Dockerfile-BuildKit
Normal file
@@ -0,0 +1,29 @@
|
||||
# Certificates & Timezones
|
||||
FROM alpine AS alpine
|
||||
RUN apk update && apk add --no-cache ca-certificates tzdata
|
||||
|
||||
# Build Image
|
||||
FROM --platform=$BUILDPLATFORM golang:1.24 AS build
|
||||
|
||||
# Create Package Directory
|
||||
WORKDIR /src
|
||||
RUN mkdir -p /opt/conduit
|
||||
|
||||
# Cache Dependencies & Compile
|
||||
ARG TARGETOS
|
||||
ARG TARGETARCH
|
||||
RUN --mount=target=. \
|
||||
--mount=type=cache,target=/root/.cache/go-build \
|
||||
--mount=type=cache,target=/go/pkg \
|
||||
GOOS=$TARGETOS GOARCH=$TARGETARCH go build \
|
||||
-ldflags "-X reichard.io/conduit/config.version=`git describe --tags`" \
|
||||
-o /opt/conduit/conduit
|
||||
|
||||
# Create Image
|
||||
FROM busybox:1.36
|
||||
COPY --from=alpine /etc/ssl/certs /etc/ssl/certs
|
||||
COPY --from=alpine /usr/share/zoneinfo /usr/share/zoneinfo
|
||||
COPY --from=build /opt/conduit /opt/conduit
|
||||
WORKDIR /opt/conduit
|
||||
EXPOSE 8080
|
||||
ENTRYPOINT ["/opt/conduit/conduit", "serve"]
|
||||
Reference in New Issue
Block a user