# Use the latest official Node runtime as a parent image FROM node:latest # Set the working directory in the container WORKDIR /usr/src/app # Copy package.json and package-lock.json (if available) COPY package*.json ./ # Install any needed packages specified in package.json RUN npm install # Bundle app source inside Docker image COPY . . # Make ports 80, 3000, and 5000 available to the world outside this container EXPOSE 80 3000 5000 # Define environment variable ENV NODE_ENV=production # Run the app when the container launches CMD ["npm", "start"]