version: "3.9" services: db: image: mysql:8.0 container_name: vending-db restart: always environment: MYSQL_ROOT_PASSWORD: rootpass MYSQL_DATABASE: vending MYSQL_USER: vendinguser MYSQL_PASSWORD: vendingpass ports: - "3307:3306" volumes: - mysql_data:/var/lib/mysql networks: - vending-network healthcheck: test: ["CMD", "mysqladmin", "ping", "-h", "localhost", "-u", "root", "-prootpass"] interval: 10s timeout: 5s retries: 10 start_period: 30s backend: build: context: ./Machine-Backend dockerfile: Dockerfile container_name: vending-backend env_file: - ./Machine-Backend/.env ports: - "8087:5000" volumes: - ./Machine-Backend:/app networks: - vending-network depends_on: db: condition: service_healthy restart: always command: > sh -c "python seed_user.py && gunicorn --bind 0.0.0.0:5000 --workers 2 --timeout 120 run:app" frontend: build: context: ./fuse-starter-v20.0.0 dockerfile: Dockerfile.dev container_name: vending-frontend ports: - "8086:4200" volumes: - ./fuse-starter-v20.0.0:/project - /project/node_modules networks: - vending-network depends_on: - backend restart: always environment: - CHOKIDAR_USEPOLLING=true networks: vending-network: driver: bridge volumes: mysql_data: driver: local