version: '3.5' services: nginx: image: ${COMPOSE_PROJECT_NAME}-nginx:latest build: context: ./docker/ args: BUILD_ARGUMENT_ENV: dev dockerfile: ./nginx/Dockerfile container_name: ${COMPOSE_PROJECT_NAME}-nginx restart: always ports: - "${WEB_PORT_HTTP}:80" - "${WEB_PORT_SSL}:443" volumes: - ./:/var/www/html:ro,cached depends_on: - laravel networks: - laravel laravel: &laravel-template image: ${COMPOSE_PROJECT_NAME}-laravel:latest build: context: . args: BUILD_ARGUMENT_ENV: dev HOST_UID: ${HOST_UID} HOST_GID: ${HOST_GID} XDEBUG_CONFIG: ${XDEBUG_CONFIG} dockerfile: ./Dockerfile container_name: ${COMPOSE_PROJECT_NAME}-laravel volumes: - ./:/var/www/html:cached depends_on: - mysql networks: - laravel ### Cron tasks supervisord: <<: *laravel-template container_name: ${COMPOSE_PROJECT_NAME}-supervisord expose: [] command: ["/usr/bin/supervisord"] mysql: image: mysql:8.0 platform: linux/x86_64 container_name: ${COMPOSE_PROJECT_NAME}-mysql command: --default-authentication-plugin=mysql_native_password --innodb-use-native-aio=${INNODB_USE_NATIVE_AIO:-1} environment: MYSQL_ROOT_PASSWORD: secret MYSQL_DATABASE: laravel ports: - "33061:3306" volumes: - ./storage/mysql-data:/var/lib/mysql:delegated - ./docker/dev/init-db.sql:/docker-entrypoint-initdb.d/init-db.sql networks: - laravel networks: laravel: name: laravel