version: '3.8' services: app: build: context: . dockerfile: Dockerfile image: laravel-react-app container_name: laravel_app restart: unless-stopped working_dir: /var/www volumes: - ./:/var/www - ./docker/php/php.ini:/usr/local/etc/php/conf.d/php.ini networks: - laravel-react-network webserver: image: nginx:alpine container_name: nginx_server restart: unless-stopped ports: - '8000:80' volumes: - ./:/var/www - ./docker/nginx/conf.d/:/etc/nginx/conf.d/ networks: - laravel-react-network depends_on: - app db: image: mysql:8.0 container_name: mysql_db restart: unless-stopped environment: MYSQL_DATABASE: ${DB_DATABASE} MYSQL_ROOT_PASSWORD: ${DB_PASSWORD} MYSQL_PASSWORD: ${DB_PASSWORD} MYSQL_USER: ${DB_USERNAME} SERVICE_TAGS: dev SERVICE_NAME: mysql volumes: - dbdata:/var/lib/mysql - ./docker/mysql/my.cnf:/etc/mysql/conf.d/my.cnf ports: - '3306:3306' networks: - laravel-react-network node: image: node:18-alpine container_name: node_build working_dir: /var/www volumes: - ./:/var/www ports: - '3000:3000' networks: - laravel-react-network depends_on: - app tty: true stdin_open: true redis: image: redis:alpine container_name: redis_cache ports: - '6379:6379' networks: - laravel-react-network volumes: dbdata: driver: local networks: laravel-react-network: driver: bridge