# Use Node 22 alpine as parent image
FROM node:22-alpine

# Change the working directory on the Docker image to /app
WORKDIR /app

# Installs glibc compatibility on Alpine to support native Node.js modules that require glibc
RUN apk add --no-cache libc6-compat

# Change specified variables
ENV NODE_ENV=development
ENV NEXT_TELEMETRY_DISABLED=1

# Copy package.json and package-lock.json to the /app directory
COPY package.json package-lock.json* ./

# Install dependencies
RUN npm install

# Copy the rest of project files into this image
COPY . .

# Expose the port
EXPOSE 3000

# Start the server in dev mode
CMD ["npm", "run", "dev"]
