# Use the official Node.js image as a base image FROM node:18-alpine # Set the working directory inside the container WORKDIR /app # Copy the package.json and pnpm-lock.yaml first to install dependencies (helps with caching) COPY package.json pnpm-lock.yaml ./ # Install pnpm globally RUN npm install -g pnpm # Install project dependencies RUN pnpm install --frozen-lockfile # Copy the rest of the application code COPY . . # Build the Next.js app RUN pnpm build # Expose the port the app will run on EXPOSE 3000 # Set the command to run the app in production mode CMD ["pnpm", "start"]