mirror of
https://github.com/Syngnat/GoNavi.git
synced 2026-08-01 19:28:43 +08:00
- 将 mcp-server 构建镜像升级到 Go 1.25,匹配当前 go.mod 版本要求\n- 调整 build-env 的 Node 资产复制方式,避免覆盖 Go 工具链\n- 显式补齐 /usr/local/go/bin 到 PATH,修复 smoke test 中 go 不可用\n
49 lines
1.4 KiB
Docker
49 lines
1.4 KiB
Docker
# syntax=docker/dockerfile:1.7
|
|
|
|
ARG GO_IMAGE=golang:1.25-bookworm
|
|
ARG NODE_IMAGE=node:20-bookworm
|
|
|
|
FROM ${NODE_IMAGE} AS node
|
|
|
|
FROM ${GO_IMAGE}
|
|
|
|
ARG WEBKIT_API=4.0
|
|
ARG WAILS_VERSION=v2.11.0
|
|
|
|
ENV DEBIAN_FRONTEND=noninteractive
|
|
ENV PATH=/root/go/bin:/usr/local/go/bin:${PATH}
|
|
|
|
# Copy only Node.js runtime assets so the Go toolchain from the base image
|
|
# stays intact for smoke tests and interactive build shells.
|
|
COPY --from=node /usr/local/bin/node /usr/local/bin/node
|
|
COPY --from=node /usr/local/bin/npm /usr/local/bin/npm
|
|
COPY --from=node /usr/local/bin/npx /usr/local/bin/npx
|
|
COPY --from=node /usr/local/bin/corepack /usr/local/bin/corepack
|
|
COPY --from=node /usr/local/lib/node_modules /usr/local/lib/node_modules
|
|
|
|
RUN apt-get update \
|
|
&& apt-get install -y --no-install-recommends \
|
|
bash \
|
|
build-essential \
|
|
ca-certificates \
|
|
curl \
|
|
file \
|
|
git \
|
|
make \
|
|
pkg-config \
|
|
python3 \
|
|
unzip \
|
|
zip \
|
|
libgtk-3-dev \
|
|
&& if [ "${WEBKIT_API}" = "4.1" ]; then \
|
|
apt-get install -y --no-install-recommends libwebkit2gtk-4.1-dev libsoup-3.0-dev; \
|
|
else \
|
|
apt-get install -y --no-install-recommends libwebkit2gtk-4.0-dev; \
|
|
fi \
|
|
&& go install github.com/wailsapp/wails/v2/cmd/wails@${WAILS_VERSION} \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
WORKDIR /workspace
|
|
|
|
CMD ["bash"]
|