services: app: build: context: . dockerfile: docker/app/Dockerfile volumes: - .:/var/www/html - app_storage:/var/www/html/storage/app - app_public:/var/www/html/storage/app/public env_file: .env depends_on: mysql: condition: service_healthy redis: condition: service_healthy networks: [lernschiff_net] nginx: build: context: ./docker/nginx dockerfile: Dockerfile ports: - "80:80" volumes: - .:/var/www/html:ro - app_public:/var/www/html/storage/app/public:ro depends_on: [app] networks: [lernschiff_net] queue: build: context: . dockerfile: docker/app/Dockerfile command: php artisan queue:work --sleep=3 --tries=3 volumes: - .:/var/www/html - app_storage:/var/www/html/storage/app - app_public:/var/www/html/storage/app/public env_file: .env depends_on: mysql: condition: service_healthy redis: condition: service_healthy networks: [lernschiff_net] scheduler: build: context: . dockerfile: docker/app/Dockerfile command: sh -c "while true; do php artisan schedule:run --verbose --no-interaction; sleep 60; done" volumes: - .:/var/www/html - app_storage:/var/www/html/storage/app - app_public:/var/www/html/storage/app/public env_file: .env depends_on: mysql: condition: service_healthy redis: condition: service_healthy networks: [lernschiff_net] reverb: build: context: . dockerfile: docker/app/Dockerfile command: php artisan reverb:start --host=0.0.0.0 --port=8081 ports: - "8080:8081" volumes: - .:/var/www/html - app_storage:/var/www/html/storage/app - app_public:/var/www/html/storage/app/public env_file: .env depends_on: [redis] networks: [lernschiff_net] mysql: image: mysql:8 environment: MYSQL_DATABASE: ${DB_DATABASE} MYSQL_USER: ${DB_USERNAME} MYSQL_PASSWORD: ${DB_PASSWORD} MYSQL_ROOT_PASSWORD: ${DB_ROOT_PASSWORD} volumes: - mysql_data:/var/lib/mysql healthcheck: test: ["CMD", "mysqladmin", "ping", "-h", "localhost"] interval: 10s timeout: 5s retries: 10 networks: [lernschiff_net] redis: image: redis:7-alpine volumes: - redis_data:/data healthcheck: test: ["CMD", "redis-cli", "ping"] interval: 5s timeout: 3s retries: 10 networks: [lernschiff_net] mailpit: image: axllent/mailpit ports: - "8025:8025" - "127.0.0.1:1025:1025" networks: [lernschiff_net] networks: lernschiff_net: driver: bridge volumes: mysql_data: redis_data: app_storage: app_public: