services: laravel.test: build: context: ./docker/8.3 dockerfile: Dockerfile args: WWWGROUP: '${WWWGROUP}' image: sail-8.3/app extra_hosts: - 'host.docker.internal:host-gateway' ports: - '${APP_PORT:-80}:80' - '${VITE_PORT:-5173}:${VITE_PORT:-5173}' environment: TZ: ${APP_TIMEZONE} COMPOSER_AUTH: ${COMPOSER_AUTH} WWWUSER: '${WWWUSER}' LARAVEL_SAIL: 1 XDEBUG_MODE: '${SAIL_XDEBUG_MODE:-off}' XDEBUG_CONFIG: '${SAIL_XDEBUG_CONFIG:-client_host=host.docker.internal}' IGNITION_LOCAL_SITES_PATH: '${PWD}' volumes: - '.:/var/www/html' - './docker/8.3/nginx.conf:/etc/nginx/sites-available/default' networks: - sail depends_on: - mariadb - redis - manticore - mailpit mariadb: image: 'mariadb:11' ports: - '${FORWARD_DB_PORT:-3306}:3306' environment: TZ: ${APP_TIMEZONE} MYSQL_ROOT_PASSWORD: '${DB_PASSWORD}' MYSQL_ROOT_HOST: '%' MYSQL_DATABASE: '${DB_DATABASE}' MYSQL_USER: '${DB_USERNAME}' MYSQL_PASSWORD: '${DB_PASSWORD}' MYSQL_ALLOW_EMPTY_PASSWORD: 'yes' command: --max_allowed_packet=128M --group_concat_max_len=16384 --max_connections=200 volumes: - 'sail-mariadb:/var/lib/mysql' - './vendor/laravel/sail/database/mysql/create-testing-database.sh:/docker-entrypoint-initdb.d/10-create-testing-database.sh' networks: - sail healthcheck: test: - CMD - mysqladmin - ping - '-p${DB_PASSWORD}' retries: 3 timeout: 5s redis: image: 'redis:alpine' ports: - '${FORWARD_REDIS_PORT:-6379}:6379' environment: TZ: ${APP_TIMEZONE} volumes: - 'sail-redis:/data' networks: - sail healthcheck: test: - CMD - redis-cli - ping retries: 3 timeout: 5s mailpit: image: 'axllent/mailpit:latest' ports: - '${FORWARD_MAILPIT_PORT:-1025}:1025' - '${FORWARD_MAILPIT_DASHBOARD_PORT:-8025}:8025' networks: - sail manticore: image: manticoresearch/manticore environment: TZ: ${APP_TIMEZONE} EXTRA: 1 # Activates extra features restart: always ports: - 9306:9306 - 9308:9308 ulimits: nproc: 65535 nofile: soft: 65535 hard: 65535 memlock: soft: -1 hard: -1 volumes: - 'sail-manticore:/var/lib/manticore' - ./misc/manticoresearch/manticore.conf:/etc/manticoresearch/manticore.conf # uncomment if you use a custom config networks: - sail elasticsearch: image: docker.elastic.co/elasticsearch/elasticsearch:8.6.2 environment: - TZ=${APP_TIMEZONE} - discovery.type=single-node - xpack.security.enabled=false - "ES_JAVA_OPTS=-Xms512m -Xmx512m" ports: - 9200:9200 - 9300:9300 volumes: - sail-elasticsearch:/usr/share/elasticsearch/data networks: - sail networks: sail: driver: bridge volumes: sail-mariadb: driver: local sail-redis: driver: local sail-manticore: driver: local sail-elasticsearch: driver: local