From 4e54a3bc265f9fc8563ea504fcf235d6e802fd17 Mon Sep 17 00:00:00 2001 From: nquidox Date: Mon, 20 Oct 2025 22:46:29 +0300 Subject: [PATCH] Dockerfile --- .dockerignore | 4 ++++ Dockerfile | 42 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 46 insertions(+) create mode 100644 .dockerignore create mode 100644 Dockerfile diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..b48419d --- /dev/null +++ b/.dockerignore @@ -0,0 +1,4 @@ +.idea +.git +.gitignore +config.env \ No newline at end of file diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..71a941d --- /dev/null +++ b/Dockerfile @@ -0,0 +1,42 @@ +FROM golang:1.25.3-alpine3.22 AS builder + +RUN apk add --no-cache \ + alpine-sdk \ + pkgconfig \ + libjpeg-turbo-dev \ + libpng-dev \ + giflib-dev \ + libwebp-dev \ + libexif-dev \ + glib-dev \ + libffi-dev \ + vips-dev + +WORKDIR /app + +COPY go.* ./ +RUN go mod download + +COPY . . + +RUN CGO_ENABLED=1 GOOS=linux GOARCH=amd64 go build -trimpath -ldflags="-s -w" -o main "./cmd" + +FROM alpine:3.22 + +RUN apk add --no-cache \ + libjpeg-turbo \ + libpng \ + giflib \ + libwebp \ + libexif \ + glib \ + libffi \ + tzdata \ + ca-certificates + +COPY --from=builder /usr/lib/vips* /usr/lib/ +COPY --from=builder /app/main /usr/local/bin/app + +RUN chmod +x /usr/local/bin/app + +ENTRYPOINT ["app"] \ No newline at end of file