docker file:
Build stage
FROM node:20 AS build
WORKDIR /app
Install pnpm
RUN npm install -g pnpm
Copy package.json and pnpm-lock.yaml (if it exists)
COPY front/package.json ./
COPY front/pnpm-lock.yaml ./
Install dependencies
RUN if [ -f pnpm-lock.yaml ]; then pnpm install --frozen-lockfile; else pnpm install; fi
Copy the rest of the application code
COPY front/ ./
Set NODE_OPTIONS to increase memory limit
ENV NODE_OPTIONS=--max_old_space_size=8192
Build the Nuxt application
RUN pnpm run build
Production stage
FROM node:20-alpine
WORKDIR /app
COPY --from=build /app/.output ./output
COPY --from=build /app/package*.json ./
RUN npm install -g pnpm && pnpm install --prod
EXPOSE 3000
CMD ["node", "output/server/index.mjs"]