services:
  cursolaravel:
    build: .
    image: cursolaravel:latest
    container_name: cursolaravel
    ports:
      - "8000:80"
    depends_on:
      - mariadb
    networks:
      - cursolaravel-network
    volumes:
      - ./:/var/www/html
    environment:
      HOME: /tmp
    user: "${UID:-1000}:${GID:-1000}"

  mariadb:
    image: mariadb:11
    container_name: cursolaravel_mariadb
    restart: always
    environment:
      MYSQL_DATABASE: cursolaravel
      MYSQL_USER: cursolaravel
      MYSQL_PASSWORD: cursolaravel
      MYSQL_ROOT_PASSWORD: cursolaravel
    volumes:
      - mariadb_data:/var/lib/mysql
    networks:
      - cursolaravel-network

  phpmyadmin:
    image: phpmyadmin:latest
    container_name: cursolaravel_phpmyadmin
    restart: always
    depends_on:
      - mariadb
    ports:
      - "8081:80"
    environment:
      PMA_HOST: mariadb
      PMA_PORT: 3306
      PMA_USER: root
      PMA_PASSWORD: cursolaravel
    networks:
      - cursolaravel-network
      
  selenium:
    image: selenium/standalone-chrome
    container_name: cursolaravel_selenium
    ports:
      - "7900:7900"
    networks:
      - cursolaravel-network
    shm_size: 2gb

  # No /etc/hosts do seu computador colocar a linha `127.0.0.1 auth.local` 
  # particularidades do protocolo oAuth1 usado na USP
  senhaunica-faker:
    image: uspdev/senhaunica-faker
    container_name: cursolaravel_senhaunica-faker
    ports:
      - "3141:3141"
    environment:
          - APP_URL=http://auth.local:3141
    networks:
      cursolaravel-network:
        aliases:
          - auth.local

networks:
  cursolaravel-network:

volumes:
  mariadb_data: