####################################################################################################
# Services
####################################################################################################
services:
    ####################################################################################################
    # PHP
    ####################################################################################################
    php:
        build: .docker/php
        ports:
            - ${DOCKER_PHP_PORT}:5173
        volumes:
            - .:/var/www:cached
        networks:
            - exclusivesis-adiplix

    ####################################################################################################
    # Nginx
    ####################################################################################################
    nginx:
        image: nginx
        ports:
            - ${DOCKER_NGINX_PORT}:80
        volumes:
            - .:/var/www
            - .docker/nginx/default.conf:/etc/nginx/conf.d/default.conf
            - .docker/nginx/nginx.conf:/etc/nginx/nginx.conf
        depends_on:
            - php
        networks:
            - exclusivesis-adiplix

    ####################################################################################################
    # DATABASE (MySQL)
    ####################################################################################################
    db:
        image: mysql
        ports:
            - ${DOCKER_MYSQL_PORT}:3306
        volumes:
            - .docker/db/data_mysql:/var/lib/mysql
            - .docker/logs:/var/log/mysql
            - .docker/db/my.cnf:/etc/mysql/conf.d/my.cnf
            - .docker/db/sql:/docker-entrypoint-initdb.d
        environment:
            MYSQL_ROOT_PASSWORD: root
            MYSQL_DATABASE: ${DB_DATABASE}
            MYSQL_USER: ${DB_USERNAME}
            MYSQL_PASSWORD: ${DB_PASSWORD}
        networks:
            - exclusivesis-adiplix

    ####################################################################################################
    # EMAIL (MailPit)
    ####################################################################################################
    mail:
        image: axllent/mailpit:latest
        ports:
            - ${DOCKER_MAIL_HTTP_PORT}:8025
            - ${DOCKER_MAIL_SMTP_PORT}:1025
        networks:
            - exclusivesis-adiplix

####################################################################################################
# Networks
####################################################################################################
networks:
    exclusivesis-adiplix:
        external: true
