# Build Stage 1 FROM node:22-alpine AS build WORKDIR /app RUN corepack enable # Copy package.json and your lockfile, here we add pnpm-lock.yaml for illustration COPY package.json pnpm-lock.yaml ./ # Install dependencies RUN pnpm i # Copy the project COPY nuxt.config.ts eslint.config.mjs ./ COPY app ./app ARG NODE_ENV=production ARG NUXT_PUBLIC_APP_URL ARG NUXT_PUBLIC_POCKETBASE_URL ENV NODE_ENV=$NODE_ENV ENV NUXT_PUBLIC_APP_URL=$NUXT_PUBLIC_APP_URL ENV NUXT_PUBLIC_POCKETBASE_URL=$NUXT_PUBLIC_POCKETBASE_URL # Build the project RUN pnpm run build # Build Stage 2 FROM node:22-alpine WORKDIR /app # Only `.output` folder is needed from the build stage COPY --from=build /app/.output/ ./ EXPOSE 3000 CMD ["node", "/app/server/index.mjs"]