# For more information: https://laravel.com/docs/sail version: '3' services: laravel.test: build: context: ./docker dockerfile: Dockerfile args: WWWGROUP: '${WWWGROUP}' extra_hosts: - 'host.docker.internal:host-gateway' ports: - '${APP_PORT:-80}:80' environment: WWWUSER: '${WWWUSER}' LARAVEL_SAIL: 1 XDEBUG_MODE: '${SAIL_XDEBUG_MODE:-off}' XDEBUG_CONFIG: '${SAIL_XDEBUG_CONFIG:-client_host=host.docker.internal}' volumes: - '.:/var/www/html' networks: - sail depends_on: - pgsql - redis - meilisearch - selenium - soketi pgsql: image: 'postgres:13' ports: - '${FORWARD_DB_PORT:-5432}:5432' environment: PGPASSWORD: '${DB_PASSWORD:-secret}' POSTGRES_DB: '${DB_DATABASE}' POSTGRES_USER: '${DB_USERNAME}' POSTGRES_PASSWORD: '${DB_PASSWORD:-secret}' volumes: - 'sail-pgsql:/var/lib/postgresql/data' networks: - sail healthcheck: test: ["CMD", "pg_isready", "-q", "-d", "${DB_DATABASE}", "-U", "${DB_USERNAME}"] retries: 3 timeout: 5s redis: image: 'redis:alpine' ports: - '${FORWARD_REDIS_PORT:-6379}:6379' volumes: - 'sail-redis:/data' networks: - sail healthcheck: test: ["CMD", "redis-cli", "ping"] retries: 3 timeout: 5s meilisearch: image: 'getmeili/meilisearch:latest' ports: - '${FORWARD_MEILISEARCH_PORT:-7700}:7700' volumes: - 'sail-meilisearch:/data.ms' networks: - sail healthcheck: test: ["CMD", "wget", "--no-verbose", "--spider", "http://localhost:7700/health"] retries: 3 timeout: 5s mailhog: image: 'mailhog/mailhog:latest' environment: MEILI_MASTER_KEY: ${MEILISEARCH_KEY} ports: - '${FORWARD_MAILHOG_PORT:-1025}:1025' - '${FORWARD_MAILHOG_DASHBOARD_PORT:-8025}:8025' networks: - sail soketi: image: 'quay.io/soketi/soketi:latest-16-alpine' environment: DEBUG: '1' METRICS_SERVER_PORT: '9601' DEFAULT_APP_ID: ${PUSHER_APP_ID} DEFAULT_APP_KEY: ${PUSHER_APP_KEY} DEFAULT_APP_SECRET: ${PUSHER_APP_SECRET} ports: - '${SOKETI_PORT:-6001}:6001' - '${SOKETI_METRICS_SERVER_PORT:-9601}:9601' networks: - sail selenium: image: 'selenium/standalone-chrome' volumes: - '/dev/shm:/dev/shm' networks: - sail networks: sail: driver: bridge volumes: sail-pgsql: driver: local sail-redis: driver: local sail-meilisearch: driver: local