From fdea8fec961287aaf0a21422ce3287980c0d0960 Mon Sep 17 00:00:00 2001 From: tone Date: Fri, 19 Dec 2025 22:25:26 +0800 Subject: [PATCH] =?UTF-8?q?chore:=20=E6=8F=90=E4=BA=A4=E5=89=8D=E5=90=8E?= =?UTF-8?q?=E7=AB=AFdockerfile?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/backend/Dockerfile | 19 +++++++++++++++++++ apps/frontend/Dockerfile | 25 +++++++++++++++++++++++++ 2 files changed, 44 insertions(+) create mode 100644 apps/backend/Dockerfile create mode 100644 apps/frontend/Dockerfile diff --git a/apps/backend/Dockerfile b/apps/backend/Dockerfile new file mode 100644 index 0000000..00d9a08 --- /dev/null +++ b/apps/backend/Dockerfile @@ -0,0 +1,19 @@ +FROM node:22-alpine AS builder +RUN npm install -g pnpm +WORKDIR /app +COPY package.json pnpm-lock.yaml ./ +RUN pnpm install --frozen-lockfile --prod +COPY . . + +RUN pnpm run build + +FROM node:22-alpine +RUN npm install -g pnpm +WORKDIR /app +COPY package.json pnpm-lock.yaml ./ +RUN pnpm install --frozen-lockfile --prod +COPY --from=builder /app/dist ./dist +COPY --from=builder /app/node_modules ./node_modules + +EXPOSE 3001 +CMD ["pnpm", "run", "start:prod"] \ No newline at end of file diff --git a/apps/frontend/Dockerfile b/apps/frontend/Dockerfile new file mode 100644 index 0000000..0dfc31d --- /dev/null +++ b/apps/frontend/Dockerfile @@ -0,0 +1,25 @@ +FROM node:22-alpine AS builder + +RUN npm install -g pnpm + +WORKDIR /app +COPY package*.json pnpm-lock.yaml ./ +RUN pnpm install --frozen-lockfile +COPY . . + +ARG API_BASE +ENV API_BASE=$API_BASE + +RUN pnpm run build + +FROM node:22-alpine +RUN npm install -g pnpm +WORKDIR /app +COPY package.json pnpm-lock.yaml ./ +RUN pnpm install --frozen-lockfile --prod +COPY --from=builder /app/.next ./.next +COPY --from=builder /app/public ./public +COPY --from=builder /app/next.config.js ./ + +EXPOSE 3000 +CMD ["pnpm", "start"] \ No newline at end of file