From ebdbd025991adc2925a3707a2f70e6e475f10b63 Mon Sep 17 00:00:00 2001 From: Sudo-Ivan Date: Mon, 29 Dec 2025 11:32:19 -0600 Subject: [PATCH] Move Dockerfile --- Dockerfile.build | 41 --------------------------------- Dockerfile => docker/Dockerfile | 10 +++++--- 2 files changed, 7 insertions(+), 44 deletions(-) delete mode 100644 Dockerfile.build rename Dockerfile => docker/Dockerfile (77%) diff --git a/Dockerfile.build b/Dockerfile.build deleted file mode 100644 index 46ebb36..0000000 --- a/Dockerfile.build +++ /dev/null @@ -1,41 +0,0 @@ -FROM cgr.dev/chainguard/node:latest-dev AS node-builder -WORKDIR /app -COPY --chown=node:node package.json package-lock.json ./ -RUN npm ci -COPY --chown=node:node . . -RUN npm run build - -FROM golang:alpine AS builder - -# Install dependencies for Wails on Alpine -# Added webkit2gtk-4.1-dev which is the modern package name in Alpine -RUN apk add --no-cache \ - git \ - make \ - gcc \ - musl-dev \ - pkgconfig \ - gtk+3.0-dev \ - webkit2gtk-4.1-dev \ - curl - -# Install Wails -RUN go install github.com/wailsapp/wails/v2/cmd/wails@latest -ENV PATH=$PATH:/root/go/bin - -WORKDIR /app -COPY . . -COPY --from=node-builder /app/build ./build - -# Build the Go server -RUN mkdir -p bin && \ - CGO_ENABLED=0 go build -ldflags="-s -w" -o bin/linking-tool main.go - -# Build desktop apps -RUN mkdir -p desktop/frontend_dist && \ - cp -r build/* desktop/frontend_dist/ && \ - cd desktop && wails build -s -platform linux/amd64 -o linking-tool-linux - -FROM scratch -COPY --from=builder /app/bin /bin -COPY --from=builder /app/desktop/build/bin /desktop-bin diff --git a/Dockerfile b/docker/Dockerfile similarity index 77% rename from Dockerfile rename to docker/Dockerfile index 863cb05..ac8557e 100644 --- a/Dockerfile +++ b/docker/Dockerfile @@ -1,10 +1,13 @@ # Stage 1: Build the frontend FROM cgr.dev/chainguard/node:latest-dev AS node-builder WORKDIR /app -COPY --chown=node:node package.json package-lock.json ./ -RUN npm ci +USER root +RUN corepack enable && corepack prepare pnpm@10.25.0 --activate +USER node +COPY --chown=node:node package.json pnpm-lock.yaml ./ +RUN pnpm install --frozen-lockfile COPY --chown=node:node . . -RUN npm run build +RUN pnpm run build # Stage 2: Build the Go binary with embedded assets FROM cgr.dev/chainguard/go:latest-dev AS go-builder @@ -28,3 +31,4 @@ ENV NODE_ENV=production USER 65532 CMD ["./linking-tool"] +