From ff3c98b9493c198eeaa598e6ac52faf3b9a740cf Mon Sep 17 00:00:00 2001 From: NoVegetable Date: Mon, 5 May 2025 16:34:12 +0800 Subject: [PATCH 1/2] Add Dockerfile for frontend --- apps/frontend/Dockerfile | 51 +++++++++++++++++++++++++++++++++++++++- 1 file changed, 50 insertions(+), 1 deletion(-) diff --git a/apps/frontend/Dockerfile b/apps/frontend/Dockerfile index a652b6f..f059ad8 100644 --- a/apps/frontend/Dockerfile +++ b/apps/frontend/Dockerfile @@ -1 +1,50 @@ -# TODO: 前端 Dockerfile \ No newline at end of file +[200~# /apps/frontend/Dockerfile +FROM node:20-alpine AS base-build +RUN apk update && apk add --no-cache libc6-compat + +FROM node:20-alpine AS base-runner + +FROM base-build AS builder +WORKDIR /app + +RUN npm install -g turbo + +COPY . . + +RUN turbo prune --scope=frontend --docker + +FROM base-build AS installer +WORKDIR /app + +COPY --from=builder /app/out/json/ . +COPY --from=builder /app/out/pnpm-lock.yaml ./pnpm-lock.yaml + +RUN npm install -g corepack@latest \ + && corepack enable \ + && corepack prepare pnpm@9.12.3 --activate + +RUN pnpm install --frozen-lockfile + +COPY --from=builder /app/out/full/ . + +RUN mkdir -p /app/apps/frontend/public + +RUN pnpm build --filter=frontend + +FROM base-runner AS runner +WORKDIR /app + +RUN addgroup --system --gid 1001 nodejs \ + && adduser --system --uid 1001 nextjs + +USER nextjs + +COPY --from=installer /app/apps/frontend/next.config.mjs . +COPY --from=installer /app/apps/frontend/package.json . + +COPY --from=installer --chown=nextjs:nodejs /app/apps/frontend/.next/standalone ./ +COPY --from=installer --chown=nextjs:nodejs /app/apps/frontend/.next/static ./apps/frontend/.next/static +COPY --from=installer --chown=nextjs:nodejs /app/apps/frontend/public ./apps/frontend/public + +CMD ["node", "apps/frontend/server.js"] + From c71520e8ab7b13cf0d5a88f284cc056975dc5a55 Mon Sep 17 00:00:00 2001 From: NoVegetable Date: Mon, 5 May 2025 16:38:29 +0800 Subject: [PATCH 2/2] Fix bug in Dockerfile for frontend --- apps/frontend/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/frontend/Dockerfile b/apps/frontend/Dockerfile index f059ad8..f4ec94e 100644 --- a/apps/frontend/Dockerfile +++ b/apps/frontend/Dockerfile @@ -1,4 +1,4 @@ -[200~# /apps/frontend/Dockerfile +# /apps/frontend/Dockerfile FROM node:20-alpine AS base-build RUN apk update && apk add --no-cache libc6-compat