# Use Node.js base image FROM node:18-alpine WORKDIR /app # Copy package files COPY package.json yarn.lock* package-lock.json* pnpm-lock.yaml* ./ # Install dependencies RUN \ if [ -f yarn.lock ]; then yarn install --frozen-lockfile; \ elif [ -f package-lock.json ]; then npm ci; \ elif [ -f pnpm-lock.yaml ]; then corepack enable pnpm && pnpm install --frozen-lockfile; \ else npm install; \ fi # Copy source code COPY . . # Build the app RUN npm run build # Expose port 3000 (Next.js default port) EXPOSE 3000 # Start Next.js production server CMD ["npm", "start"]