|
@@ -0,0 +1,23 @@
|
|
|
|
|
+FROM node:24-bookworm-slim AS base
|
|
|
|
|
+
|
|
|
|
|
+FROM base AS deps
|
|
|
|
|
+WORKDIR /app
|
|
|
|
|
+COPY package*.json ./
|
|
|
|
|
+RUN npm ci
|
|
|
|
|
+
|
|
|
|
|
+FROM base AS build
|
|
|
|
|
+WORKDIR /app
|
|
|
|
|
+COPY --from=deps /app/node_modules ./node_modules
|
|
|
|
|
+COPY . .
|
|
|
|
|
+RUN npm run build
|
|
|
|
|
+
|
|
|
|
|
+FROM base AS runtime
|
|
|
|
|
+WORKDIR /app
|
|
|
|
|
+ENV NODE_ENV=production
|
|
|
|
|
+COPY package*.json ./
|
|
|
|
|
+COPY --from=deps /app/node_modules ./node_modules
|
|
|
|
|
+RUN npm prune --omit=dev
|
|
|
|
|
+COPY --from=build /app/build ./build
|
|
|
|
|
+COPY --from=build /app/static ./static
|
|
|
|
|
+EXPOSE 3000
|
|
|
|
|
+CMD ["node", "build"]
|