# Use the official Node.js 20.2.0 image with Alpine Linux as the base image FROM node:20.9.0-alpine # Create a directory for the application code RUN mkdir -p /usr/src/app # Set the working directory in the container WORKDIR /usr/src/app # Copy the package.json and package-lock.json files to the container COPY package*.json /usr/src/app/ # Install application dependencies RUN npm install # Build the application RUN npm run build # Copy the rest of your application code to the container COPY . /usr/src/app # Expose the port your Node.js application will listen on EXPOSE 80 # Set environment variables (e.g., your SECRET) ENV JWT_SECRET=secret \ DATABASE_URL=mysql://root:BEVLqLReqUyA@srv-captain--nq-db:3306/new-quest # Use nodemon for development (install it globally) RUN npm install -g nodemon # Define the startup command using nodemon CMD ["nodemon", "dist/server.js"]