# Use an official Node runtime as a parent image FROM node:18 # Install nodemon globally RUN npm install -g nodemon # Create a directory for the application WORKDIR /app # Copy package.json and package-lock.json for both frontend and backend COPY frontend/package*.json ./frontend/ COPY backend/package*.json ./backend/ # Install dependencies for frontend WORKDIR /app/frontend RUN npm install # Install dependencies for backend WORKDIR /app/backend RUN npm install # Copy the rest of the application code WORKDIR /app COPY . . # Set correct permissions for all files RUN chmod -R 755 /app/frontend /app/backend /app/backend/engine # Expose the ports EXPOSE 5173 EXPOSE 3000 # Define the command to run the apps using nodemon CMD ["sh", "-c", "nodemon --watch /app/frontend --exec 'npm run dev --prefix /app/frontend' & nodemon --watch /app/backend --exec 'npm run dev --prefix /app/backend'"]