version: "3.7"
services:
  app:
    build:
      args:
        user: sammy
        uid: 1000
      context: ./
      dockerfile: Dockerfile.dev
    image: mailable
    container_name: mailable-app
    working_dir: /var/www/
    environment:
      - COMPOSER_MEMORY_LIMIT=-1
    depends_on:
      - db
    volumes:
      - ./:/var/www
    networks:
      - lahmi

  db:
    image: mysql:5.7
    container_name: mailable-db
    environment:
      MYSQL_DATABASE: ${DB_DATABASE}
      MYSQL_ROOT_PASSWORD: ${DB_PASSWORD}
      MYSQL_PASSWORD: ${DB_PASSWORD}
      MYSQL_USER: ${DB_USERNAME}
      SERVICE_TAGS: dev
      SERVICE_NAME: mysql
      MYSQL_ROOT_PASSWORD: local
    volumes:
      - dbdata:/var/lib/mysql
      - ./docker-compose/mysql/my.cnf:/etc/mysql/my.cnf
      - ./docker-compose/mysql/init:/docker-entrypoint-initdb.d
    ports:
      - 3308:3306
    networks:
      - lahmi

  nginx:
    image: nginx:alpine
    container_name: mailable-nginx
    ports:
      - 8006:80
    depends_on:
      - db
      - app
    volumes:
      - ./:/var/www
      - ./docker-compose/nginx:/etc/nginx/conf.d/
    networks:
      - lahmi

networks:
  lahmi:
    driver: bridge

volumes:
  dbdata:
    driver: local

