version: "3"
services:
  frontend:
    build:
      context: ./frontend
      dockerfile: Dockerfile
    ports:
      - "3000:3000"
  backend:
    build:
      context: ./backend
      dockerfile: Dockerfile
    ports:
      - "8800:8800"
    depends_on:
      - db
  db:
    image: docker_image:latest
    environment:
      - MYSQL_ROOT_PASSWORD=root
      - MYSQL_DATABASE=demodashboard
    ports:
      - "3306:3306"
      
      
      
      #Frontend
FROM node:19 as frontend
WORKDIR /app/frontend
COPY frontend/package*.json ./
RUN npm install
COPY frontend/ ./
RUN npm run build

#Backend
FROM node:19 as backend
WORKDIR /app/backend
COPY backend/package*.json ./
RUN npm install
COPY backend/ ./

#To Run Application
FROM node:19
WORKDIR /app
COPY --from=frontend /app/frontend/build ./frontend/build
COPY --from=backend /app/backend ./
# EXPOSE 3000
EXPOSE 8800
EXPOSE 3000
CMD ["node", "index.js"]