Ai
188 Star 1.7K Fork 406

GVPAPITable/APITable

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
Dockerfile.web-server 3.60 KB
一键复制 编辑 原始数据 按行查看 历史
Zoe 提交于 2024-05-06 19:21 +08:00 . fix: pnpm patch in root folder (#1739)
# Install dependencies only when needed
FROM apitable/nodepy:16.15.0-alpine AS deps
RUN npm install -g pnpm@8.13.1
WORKDIR /workspace-install
COPY ./pnpm-workspace.yaml ./package.json ./pnpm-lock.yaml ./
COPY ./patches/ ./patches
# datasheet dependencies packages
COPY packages/components/package.json ./packages/components/
COPY packages/core/package.json ./packages/core/
COPY packages/databus-wasm-web/package.json ./packages/databus-wasm-web/
COPY packages/databus-wasm-nodejs/package.json ./packages/databus-wasm-nodejs/
COPY packages/i18n-lang/package.json ./packages/i18n-lang/
COPY packages/icons/package.json ./packages/icons/
COPY packages/widget-sdk/package.json ./packages/widget-sdk/
COPY packages/ai-components/package.json ./packages/ai-components/
COPY packages/api-client/package.json ./packages/api-client/
# datasheet main
COPY packages/datasheet/package.json ./packages/datasheet/
RUN pnpm install
# stage builder
FROM apitable/nodepy:16.15.0-alpine AS builder
ARG SEMVER_FULL="v0.0.0-alpha"
ARG NEXT_ASSET_PREFIX=""
ARG NEXT_PUBLIC_ASSET_PREFIX=""
ENV SEMVER_FULL=${SEMVER_FULL}
RUN npm install -g pnpm@8.13.1
WORKDIR /app
COPY ./pnpm-workspace.yaml ./build.js ./package.json ./pnpm-lock.yaml ./nx.json ./common-tsconfig.json ./tsconfig.json ./.eslintrc ./
COPY packages/ ./packages/
COPY --from=deps /workspace-install/patches ./patches
COPY --from=deps /workspace-install/node_modules ./node_modules
COPY --from=deps /workspace-install/packages/datasheet/node_modules ./packages/datasheet/node_modules
COPY --from=deps /workspace-install/packages/components/node_modules ./packages/components/node_modules
COPY --from=deps /workspace-install/packages/core/node_modules ./packages/core/node_modules
COPY --from=deps /workspace-install/packages/icons/node_modules ./packages/icons/node_modules
COPY --from=deps /workspace-install/packages/i18n-lang/node_modules ./packages/i18n-lang/node_modules
COPY --from=deps /workspace-install/packages/widget-sdk/node_modules ./packages/widget-sdk/node_modules
COPY --from=deps /workspace-install/packages/ai-components/node_modules ./packages/ai-components/node_modules
COPY --from=deps /workspace-install/packages/api-client/node_modules ./packages/api-client/node_modules
RUN set -eux; \
sed -i~ '$a\WEB_CLIENT_VERSION='${SEMVER_FULL}'' packages/datasheet/.env; \
sed -i~ 's~^NEXT_ASSET_PREFIX=.*~NEXT_ASSET_PREFIX='${NEXT_ASSET_PREFIX}'~' packages/datasheet/.env; \
sed -i~ 's~^NEXT_PUBLIC_ASSET_PREFIX=.*~NEXT_PUBLIC_ASSET_PREFIX='${NEXT_PUBLIC_ASSET_PREFIX}'~' packages/datasheet/.env
RUN pnpm --version
RUN pnpm run build:dst
# stage runner
FROM apitable/nodepy:16.15.0-alpine AS runner
WORKDIR /app
ENV NODE_ENV production
# Uncomment the following line in case you want to disable telemetry during runtime.
ENV NEXT_TELEMETRY_DISABLED 1
RUN addgroup --system --gid 1001 nodejs && adduser --system --uid 1001 nextjs
COPY --from=builder /app/pnpm-workspace.yaml /app/package.json /app/pnpm-lock.yaml ./
COPY --from=builder /app/packages/datasheet/public ./packages/datasheet/public
COPY --from=builder /app/packages/datasheet/next.config.js \
/app/packages/datasheet/package.json \
./packages/datasheet/
# Automatically leverage output traces to reduce image size
# https://nextjs.org/docs/advanced-features/output-file-tracing
COPY --from=builder --chown=nextjs:nodejs /app/packages/datasheet/web_build/standalone ./
COPY --from=builder --chown=nextjs:nodejs /app/packages/datasheet/web_build/static ./packages/datasheet/web_build/static
WORKDIR /app/packages/datasheet
USER nextjs
EXPOSE 8080
ENV PORT 8080
CMD [ "node", "server.js" ]
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
TypeScript
1
https://gitee.com/apitable/APITable.git
git@gitee.com:apitable/APITable.git
apitable
APITable
APITable
develop

搜索帮助