services:
    ####################################################################################################
    # PHP
    ####################################################################################################
    php:
        build: .docker/php
        ports:
            - 5173:5173
        volumes:
            - .:/var/www:cached
            - .docker/php/php.ini:/usr/local/etc/php/php.ini

    ####################################################################################################
    # Nginx
    ####################################################################################################
    nginx:
        image: nginx
        ports:
            - 5555: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

    ####################################################################################################
    # DATABASE (MySQL)
    ####################################################################################################
    db:
        image: mysql:8.1
        ports:
            - 4306:3306
        volumes:
            - .docker/db/data:/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: lg
            MYSQL_USER: lg
            MYSQL_PASSWORD: lg

    ####################################################################################################
    # phpMyAdmin
    ####################################################################################################
    phpmyadmin:
        image: phpmyadmin/phpmyadmin
        ports:
            - 8080:80
        links:
            - db
        environment:
            PMA_HOST: db
            PMA_PORT: 3306
            PMA_ARBITRARY: 1
        volumes:
            - .docker/phpmyadmin/sessions:/sessions

    ####################################################################################################
    # Redis
    ####################################################################################################
    redis:
        image: redis:latest
        command: redis-server --appendonly yes
        volumes:
            - .docker/redis/data:/data
        ports:
            - 6379:6379
