x-app: &app build: dockerfile: .docker/php/Dockerfile context: ./ target: development user: "${APP_UID:-1000}:${APP_GID:-1000}" environment: XDG_CONFIG_HOME: /app/caddy/config XDG_DATA_HOME: /app/caddy/data volumes: - ${LOCAL_WORKSPACE_FOLDER:-./}:/app:cached services: application: <<: *app command: php /app/artisan octane:start --watch --caddyfile=Caddyfile --server=frankenphp --admin-port=9019 --host=0.0.0.0 --port=9000 --workers=4 --max-requests=100 healthcheck: test: php artisan octane:status interval: 2s timeout: 5s start_period: 5s retries: 8 horizon: <<: *app command: php /app/artisan horizon healthcheck: test: php artisan horizon:status interval: 2s timeout: 5s start_period: 2s reverb: <<: *app command: php /app/artisan reverb:start --host=0.0.0.0 --port=8080 healthcheck: test: [ "CMD", "sh", "-c", "pgrep -f 'reverb:start' > /dev/null || exit 1" ] interval: 2s timeout: 5s start_period: 2s vite: <<: *app command: npm run dev -- --host healthcheck: test: [ "CMD", "sh", "-c", "pgrep -f 'npm run dev' > /dev/null || exit 1" ] interval: 2s timeout: 5s start_period: 2s development: <<: *app restart: no