From 7db58418b3596c3090081ad603d5de8753e0d017 Mon Sep 17 00:00:00 2001 From: gigirassy Date: Tue, 18 Nov 2025 01:34:34 +0100 Subject: [PATCH] Update Dockerfile --- Dockerfile | 33 +++++++++++++++++---------------- 1 file changed, 17 insertions(+), 16 deletions(-) diff --git a/Dockerfile b/Dockerfile index d71cfc9..2d0ad1b 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,26 +1,29 @@ # syntax=docker/dockerfile:1.4 -FROM --platform=$BUILDPLATFORM tinygo/tinygo:0.39.0 AS builder - +FROM --platform=$BUILDPLATFORM golang:1.24.8-alpine AS builder ARG TARGETOS ARG TARGETARCH +ARG TARGETVARIANT WORKDIR /src - -# Copy go modules -COPY go.mod ./ -# TinyGo uses go modules too -RUN tinygo mod download +COPY go.mod go.sum ./ +RUN apk add --no-cache ca-certificates git binutils upx \ + && go mod download COPY . . RUN rm -rf screenies .github -# Build with TinyGo -RUN tinygo build \ - -o /pinata \ - -target linux/${TARGETARCH} \ - -opt=z \ - -no-debug \ - ./main.go +RUN CGO_ENABLED=0 \ + GOOS=${TARGETOS:-linux} \ + GOARCH=${TARGETARCH:-amd64} \ + go build -trimpath \ + -ldflags="-s -w -extldflags '-static' -buildid=''" \ + -o /pinata ./main.go + +# Strip out any remaining symbols +RUN strip /pinata + +# Compress the binary +RUN upx -9 /pinata FROM scratch AS runtime COPY --from=builder /pinata /pinata @@ -28,8 +31,6 @@ COPY --from=builder /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/ca-certifi USER 65532 EXPOSE 8080 - -# Memory tuning ENV GOMEMLIMIT=8MiB \ GOGC=20