version: '3.4'

services:
  php:
    container_name: php-container
    build:
      context: .
      dockerfile: Dockerfile
    restart: unless-stopped
    volumes:
      - ./src:/var/www/html
    ports:
      - 9000:9000
    networks:
      - app-network
    depends_on:
      - mysql
      - redis

  mysql:
    container_name: mysql-container
    image: mysql:8.0
    restart: unless-stopped
    volumes:
      - ./mysql:/var/lib/mysql
    environment:
      MYSQL_DATABASE: laravel
      MYSQL_USER: laravel
      MYSQL_PASSWORD: laravel
      MYSQL_ROOT_PASSWORD: laravel
    ports:
      - 3306:3306
    networks:
      - app-network
  
  redis:
    container_name: redis-container
    image: redis:6.0
    restart: unless-stopped
    volumes:
      - ./redis:/data
    ports:
      - 6379:6379
    networks:
      - app-network
  
  volumes:
    mysql:
    redis:
  
  networks:
    app-network:
      driver: bridge