From 00bada890ba5719f9937bf339362111fa0fc5ca5 Mon Sep 17 00:00:00 2001 From: Samuel Enocsson Date: Fri, 22 May 2026 12:07:36 +0200 Subject: [PATCH] build: multi-stage Dockerfile with build info ldflags --- .dockerignore | 10 ++++++++++ Dockerfile | 22 ++++++++++++++++++++++ 2 files changed, 32 insertions(+) create mode 100644 .dockerignore create mode 100644 Dockerfile diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..fb92392 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,10 @@ +.git +.gitignore +.github +docs/ +README.md +*.md +.env +.env.* +gitea-action/ +docker-compose.example.yml diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..ea79def --- /dev/null +++ b/Dockerfile @@ -0,0 +1,22 @@ +# syntax=docker/dockerfile:1.7 + +FROM golang:1.23-alpine AS build +WORKDIR /src +COPY go.mod go.sum ./ +RUN go mod download +COPY . . +ARG VERSION=dev +ARG COMMIT=unknown +ARG BUILD_TIME=unknown +RUN CGO_ENABLED=0 go build \ + -ldflags="-s -w \ + -X main.version=${VERSION} \ + -X main.commit=${COMMIT} \ + -X main.buildTime=${BUILD_TIME}" \ + -o /out/package-updater ./cmd/server + +FROM alpine:3.20 +RUN apk add --no-cache docker-cli docker-cli-compose ca-certificates wget +COPY --from=build /out/package-updater /usr/local/bin/ +EXPOSE 8080 +ENTRYPOINT ["/usr/local/bin/package-updater"]