From 9f04bf3642559b18c103fa464b74704d71616f60 Mon Sep 17 00:00:00 2001 From: import-benjamin <8467845+import-benjamin@users.noreply.github.com> Date: Sun, 13 Jul 2025 15:39:51 +0200 Subject: [PATCH 1/4] refactor(containerfile): upgrade golang & alpine versions try to add build optimizations --- Containerfile | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Containerfile b/Containerfile index 54b2f4d..bafd409 100644 --- a/Containerfile +++ b/Containerfile @@ -1,11 +1,11 @@ -FROM docker.io/golang:1.24.2-alpine3.21 AS build +FROM docker.io/golang:1.24.5-alpine3.22 AS build WORKDIR /app COPY . . -RUN apk add build-base musl-dev opencv-dev icu-libs --repository=https://dl-cdn.alpinelinux.org/alpine/edge/community -RUN go build cmd/main.go +RUN apk add binutils make libc-dev patch opencv-dev icu-libs +RUN CGO_ENABLED=0 go build cmd/main.go -FROM docker.io/alpine:3.21 AS delivery +FROM docker.io/alpine:3.22 AS delivery WORKDIR /app -RUN apk add musl opencv-dev icu-libs --repository=https://dl-cdn.alpinelinux.org/alpine/edge/community +RUN apk add musl opencv-dev icu-libs COPY --from=build /app/main /app/main COPY --from=build /app/templates /app/templates From 3025254b8a44c7eeb160feb474f0b265facecca0 Mon Sep 17 00:00:00 2001 From: import-benjamin <8467845+import-benjamin@users.noreply.github.com> Date: Sun, 13 Jul 2025 15:47:53 +0200 Subject: [PATCH 2/4] fix(containerfile): use external linker ld --- Containerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Containerfile b/Containerfile index bafd409..60a1bcb 100644 --- a/Containerfile +++ b/Containerfile @@ -2,7 +2,7 @@ FROM docker.io/golang:1.24.5-alpine3.22 AS build WORKDIR /app COPY . . RUN apk add binutils make libc-dev patch opencv-dev icu-libs -RUN CGO_ENABLED=0 go build cmd/main.go +RUN go build -ldflags "-linkmode 'external' -extldflags '-static' -w -s" cmd/main.go FROM docker.io/alpine:3.22 AS delivery WORKDIR /app From 61c41c8c789a563aef0a4cafcfe6b96d503da9b6 Mon Sep 17 00:00:00 2001 From: import-benjamin <8467845+import-benjamin@users.noreply.github.com> Date: Sun, 13 Jul 2025 15:51:26 +0200 Subject: [PATCH 3/4] fix(containerfile): add missing g++ dependency --- Containerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Containerfile b/Containerfile index 60a1bcb..b776569 100644 --- a/Containerfile +++ b/Containerfile @@ -1,7 +1,7 @@ FROM docker.io/golang:1.24.5-alpine3.22 AS build WORKDIR /app COPY . . -RUN apk add binutils make libc-dev patch opencv-dev icu-libs +RUN apk add g++ binutils make libc-dev patch opencv-dev icu-libs RUN go build -ldflags "-linkmode 'external' -extldflags '-static' -w -s" cmd/main.go FROM docker.io/alpine:3.22 AS delivery From 16d96dbc83443b26004dd728528b5faceb84a9a9 Mon Sep 17 00:00:00 2001 From: import-benjamin <8467845+import-benjamin@users.noreply.github.com> Date: Sun, 13 Jul 2025 16:27:14 +0200 Subject: [PATCH 4/4] test(containerfile): remove static linking --- Containerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Containerfile b/Containerfile index b776569..2fe5ded 100644 --- a/Containerfile +++ b/Containerfile @@ -2,10 +2,10 @@ FROM docker.io/golang:1.24.5-alpine3.22 AS build WORKDIR /app COPY . . RUN apk add g++ binutils make libc-dev patch opencv-dev icu-libs -RUN go build -ldflags "-linkmode 'external' -extldflags '-static' -w -s" cmd/main.go +RUN go build -ldflags "-w -s" cmd/main.go FROM docker.io/alpine:3.22 AS delivery WORKDIR /app -RUN apk add musl opencv-dev icu-libs +RUN apk add musl opencv icu-libs COPY --from=build /app/main /app/main COPY --from=build /app/templates /app/templates