From aa1ad788850ad919c92f6ff2303eec51006d0925 Mon Sep 17 00:00:00 2001 From: "claude[bot]" <41898282+claude[bot]@users.noreply.github.com> Date: Thu, 23 Jul 2026 20:02:39 +0000 Subject: [PATCH 1/3] Dockerfile: remove stale COPY of removed cmd/openapi directory --- Dockerfile | 1 - 1 file changed, 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 23c079cdf5b..72f989ea478 100644 --- a/Dockerfile +++ b/Dockerfile @@ -45,7 +45,6 @@ RUN --mount=type=cache,target=${GOMODCACHE} go mod download # install tools COPY Makefile . COPY cmd/implement/ cmd/implement/ -COPY cmd/openapi/ cmd/openapi/ COPY api/ api/ RUN --mount=type=cache,target=${GOMODCACHE} make install From c571246f1dd55c416f614483163aaf25f3f84884 Mon Sep 17 00:00:00 2001 From: andig Date: Fri, 24 Jul 2026 10:35:04 +0200 Subject: [PATCH 2/3] Dockerfile: build ui with vite instead of make ui npm run build regenerates the openapi spec from the go sources, which are not present in the node stage. Run vite build directly and drop the make install plus Makefile copy that were only needed for it. Also ignore local tooling dirs in the docker build context. --- .dockerignore | 7 +++++++ Dockerfile | 6 ++---- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/.dockerignore b/.dockerignore index 99766f5a55b..eeaa50b7556 100644 --- a/.dockerignore +++ b/.dockerignore @@ -1,6 +1,13 @@ .cache +.claude +.omc +.playwright-mcp .storybook +.venv .vscode +.wolf +playwright-report +*.db *.conf *.Dockerfile *.gz diff --git a/Dockerfile b/Dockerfile index 72f989ea478..1403d19bd88 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,8 +1,6 @@ # STEP 1 build ui FROM --platform=$BUILDPLATFORM node:26-alpine AS node -RUN apk update && apk add --no-cache make - WORKDIR /build # install node tools @@ -10,14 +8,14 @@ COPY package*.json ./ RUN --mount=type=cache,target=/root/.npm npm ci # build ui -COPY Makefile . COPY *.js ./ COPY *.ts *.mts ./ COPY .browserslistrc . COPY assets assets COPY i18n i18n -RUN make ui +# vite build only, `npm run build` would also regenerate openapi from the go sources +RUN npx vite build # STEP 2 build executable binary From 00a974b031b2e9494232d90fa8c289966f9a6f0a Mon Sep 17 00:00:00 2001 From: andig Date: Fri, 24 Jul 2026 10:45:36 +0200 Subject: [PATCH 3/3] Dockerfile: keep make ui and supply its openapi inputs npm run build also runs the openapi generator, which needs tsconfig.json, scripts/ and the server/*.yaml specs plus an existing server/mcp folder for its output. Copy them into the node stage instead of bypassing make. --- .dockerignore | 1 + Dockerfile | 10 ++++++++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/.dockerignore b/.dockerignore index eeaa50b7556..76e9c9d22c7 100644 --- a/.dockerignore +++ b/.dockerignore @@ -24,3 +24,4 @@ release !entrypoint.sh !evcc.dist.yaml !package*.json +!tsconfig.json diff --git a/Dockerfile b/Dockerfile index 1403d19bd88..176f7014ee8 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,6 +1,8 @@ # STEP 1 build ui FROM --platform=$BUILDPLATFORM node:26-alpine AS node +RUN apk update && apk add --no-cache make + WORKDIR /build # install node tools @@ -8,14 +10,18 @@ COPY package*.json ./ RUN --mount=type=cache,target=/root/.npm npm ci # build ui +COPY Makefile . COPY *.js ./ COPY *.ts *.mts ./ +COPY tsconfig.json . COPY .browserslistrc . COPY assets assets COPY i18n i18n +# openapi generator inputs, output folder is created below +COPY scripts scripts +COPY server/*.yaml server/ -# vite build only, `npm run build` would also regenerate openapi from the go sources -RUN npx vite build +RUN mkdir -p server/mcp && make ui # STEP 2 build executable binary