# # docker-compose.yaml # # to create a development environment with docker-compose # https://cylab.be/blog/336/use-docker-compose-to-create-a-dev-environment-for-laravel # services: web: build: context: . dockerfile: Dockerfile.dev # defined in .env user: "${UID}:${GID}" depends_on: - redis - mysql ports: - 8080:80 volumes: - .:/var/www/html env_file: .env environment: WAIT_HOSTS: mysql:3306 APACHE_RUN_USER: "#${UID}" APACHE_RUN_GROUP: "#${GID}" queue: build: context: . dockerfile: Dockerfile.dev # defined in .env user: "${UID}:${GID}" depends_on: - web volumes: - .:/var/www/html command: ["/queue.sh"] env_file: .env environment: WAIT_HOSTS: web:80 scheduler: build: context: . dockerfile: Dockerfile.dev # defined in .env user: "${UID}:${GID}" depends_on: - web volumes: - .:/var/www/html command: ["/scheduler.sh"] env_file: .env environment: WAIT_HOSTS: web:80 node: image: node:16.15.0-alpine # defined in .env user: "${UID}:${GID}" working_dir: /app volumes: - .:/app entrypoint: /bin/sh -c "npm install && npm run watch-poll" redis: image: redis:4-alpine volumes: - ./volumes/redis:/data mysql: image: mysql:5.7 volumes: - ./volumes/mysql:/var/lib/mysql environment: MYSQL_ROOT_PASSWORD: root MYSQL_DATABASE: laravel mailhog: image: mailhog/mailhog ports: - 1025:1025 - 8025:8025