mirror of
https://github.com/iflytek/skillhub.git
synced 2026-08-28 11:25:00 +00:00
Addresses review feedback on #413: for a single-package project, pnpm-workspace.yaml is unnecessary and its 'packages: [.]' declaration turns the web/ directory into a pnpm workspace root, which is a semantic side effect we don't want. Move onlyBuiltDependencies under the 'pnpm' field in package.json (pnpm 10 still reads it there) and drop the workspace file from the Dockerfile COPY list. Verified locally with docker buildx: pnpm 10.33 runs esbuild postinstall and the build succeeds.
18 lines
725 B
Docker
18 lines
725 B
Docker
FROM node:22-alpine AS build
|
|
RUN corepack enable
|
|
WORKDIR /app
|
|
COPY package.json pnpm-lock.yaml ./
|
|
RUN pnpm install --frozen-lockfile
|
|
COPY . .
|
|
RUN pnpm build
|
|
|
|
FROM nginx:alpine
|
|
COPY --from=build /app/dist /usr/share/nginx/html
|
|
COPY --from=build /app/src/docs/skill.md.template /usr/share/nginx/html/registry/skill.md.template
|
|
COPY nginx.conf.template /etc/nginx/templates/default.conf.template
|
|
COPY runtime-config.js.template /usr/share/nginx/html/runtime-config.js.template
|
|
COPY docker-entrypoint.d/30-runtime-config.sh /docker-entrypoint.d/30-runtime-config.sh
|
|
RUN chmod +x /docker-entrypoint.d/30-runtime-config.sh
|
|
EXPOSE 80
|
|
HEALTHCHECK --interval=10s --timeout=3s \
|
|
CMD wget -qO- http://127.0.0.1/nginx-health || exit 1
|