---
version: '3'
services:
  app:
    # For your own docker-compose, use `image: phpvms:latest` instead of the build/context block
    build:
      context: .
    environment:
      DB_HOST: mysql
      REDIS_HOST: redis
    volumes:
      - ./:/var/www
      - ./resources/docker/php/www.conf:/usr/local/etc/php-fpm.d/www.conf
    depends_on:
      - mysql
      - redis

  nginx:
    image: nginx:1.15.12-alpine
    command: /bin/sh -c "exec nginx -g 'daemon off;'"
    volumes:
      - ./:/var/www
      - ./resources/docker/nginx/default.conf:/etc/nginx/conf.d/default.conf
    ports:
      - 80:80
    depends_on:
      - app

  mysql:
    image: mysql:5.7.26
    environment:
      MYSQL_DATABASE: phpvms
      MYSQL_USER: phpvms
      MYSQL_PASSWORD: phpvms
      MYSQL_ROOT_PASSWORD:
      MYSQL_ALLOW_EMPTY_PASSWORD: 'yes'
    volumes:
      - ./storage/docker/mysql:/var/lib/mysql
    ports:
      - 3306:3306

  redis:
    image: redis:5.0.4-alpine
    command: ["redis-server", "--appendonly", "yes"]
    volumes:
      - ./storage/docker/redis:/data
    ports:
      - 6379:6379
    restart: always

  # Use this to tail the logs so it's just all in a single window
  #logs:
  #    image: busybox
  #    command: tail -f -F -n 0 /var/www/storage/logs/laravel.log
  #    restart: always
  #    volumes:
  #      - ./storage:/var/www/storage
  #    depends_on:
  #      - app
