version: "3.5"

services:
    web:
        build: ./build/nginx/
        container_name: nginx
        restart: always
        working_dir: /var/www/
        ports:
            - "${NGINX_PORT}:80"
            - "${NGINX_PORT_SSL}:443"
        volumes:
            - ./etc/nginx/conf.d/:/etc/nginx/conf.d/
            - ./etc/nginx/nginx.conf:/etc/nginx/nginx.conf
            - ./etc/nginx/auth:/etc/nginx/auth/
            - ./etc/letsencrypt/:/etc/letsencrypt/
            - ./log/nginx:/var/log/nginx/
            - ${PROJECTS_DIR}:/var/www/
        depends_on:
            - php
        networks:
            - webenv

    php:
        build: ./build/php
        container_name: php
        restart: always
        user: "${USER_ID}"
        working_dir: /var/www/
        environment:
            XDEBUG_CONFIG: remote_host=${HOST_LOCAL_IP}
        volumes:
            - ./etc/php/php.ini:/usr/local/etc/php/php.ini
            - ${PROJECTS_DIR}:/var/www/
        networks:
            - webenv

    db:
        image: mysql:5.7
        container_name: mysql
        restart: always
        environment:
            MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
            MYSQL_USER: ${MYSQL_USER}
            MYSQL_PASSWORD: ${MYSQL_PASSWORD}
        volumes:
            - ./db/:/var/lib/mysql
        ports:
            - "${MYSQL_PORT}:3306"
        networks:
            - webenv
    
networks:
    webenv:
        name: webenv