services: nginx: image: nginx:1.27-alpine restart: unless-stopped ports: - "80:80" volumes: - ./app:/var/www/html - ./docker/nginx/default.conf:/etc/nginx/conf.d/default.conf:ro extra_hosts: - "host.docker.internal:host-gateway" depends_on: [app, reverb] networks: [clu] app: build: ./docker/php restart: unless-stopped volumes: - ./app:/var/www/html depends_on: [mysql, redis] networks: [clu] queue: build: ./docker/php restart: unless-stopped command: php artisan queue:work --tries=3 --timeout=120 volumes: - ./app:/var/www/html depends_on: [mysql, redis] networks: [clu] scheduler: build: ./docker/php restart: unless-stopped command: php artisan schedule:work volumes: - ./app:/var/www/html depends_on: [mysql, redis] networks: [clu] reverb: build: ./docker/php restart: unless-stopped command: php artisan reverb:start --host=0.0.0.0 --port=8080 volumes: - ./app:/var/www/html depends_on: [redis] networks: [clu] mysql: image: mariadb:11 restart: unless-stopped environment: MARIADB_DATABASE: clupilot MARIADB_USER: clupilot MARIADB_PASSWORD: clupilot MARIADB_ROOT_PASSWORD: rootpw volumes: - mysql-data:/var/lib/mysql networks: [clu] redis: image: redis:7-alpine restart: unless-stopped volumes: - redis-data:/data networks: [clu] mailpit: image: axllent/mailpit:latest restart: unless-stopped ports: - "8025:8025" networks: [clu] volumes: mysql-data: redis-data: networks: clu: driver: bridge