Para facilitar el despliegue y la gestión de los diferentes componentes de Matchify, se han configurado dos archivos principales de Docker: docker-compose.yml y Dockerfile.

docker-compose.yml

El archivo docker-compose.yml define y orquesta los siguientes servicios necesarios para el funcionamiento de la aplicación:

version: '3'
services:
  backend:
    build: ./backend
    ports:
      - "3001:3001"
    environment:
      - DB_NAME=Matchify
      - DB_USER=test
      - DB_PASS=test
      - DB_HOST=db
    volumes:
      - ./backend:/usr/src/app
    depends_on:
      - db

  frontend:
    build: ./frontend
    ports:
      - "3000:3000"
    volumes:
      - ./frontend:/usr/src/app
      - /usr/src/app/node_modules 
    environment:
      - CHOKIDAR_USEPOLLING=true
      - HOST=0.0.0.0  
      - PORT=3000      
    stdin_open: true  
    tty: true         
  db:
    image: mysql:8.0
    restart: always
    environment:
      MYSQL_DATABASE: Matchify
      MYSQL_USER: test
      MYSQL_PASSWORD: test
      MYSQL_ROOT_PASSWORD: test
    ports:
      - "3306:3306"
    volumes:
      - mysql-data:/var/lib/mysql

volumes:
  mysql-data:

Descripción de los servicios:

  1. version: '3': Define la versión del archivo de configuración de Docker Compose.

  2. Servicios (services):

backend:

frontend: