# For more information: https://laravel.com/docs/sail version: '3' services: kcal.test: build: context: ./vendor/laravel/sail/runtimes/8.0 dockerfile: Dockerfile args: WWWGROUP: '${WWWGROUP}' image: sail-8.0/app ports: - '${APP_PORT:-8080}:80' environment: WWWUSER: '${WWWUSER}' LARAVEL_SAIL: 1 volumes: - '.:/var/www/html' networks: - sail depends_on: - mysql - redis - elasticsearch mysql: image: 'mysql:8.0' ports: - '${DB_PORT:-3306}:3306' environment: MYSQL_ROOT_PASSWORD: '${DB_PASSWORD:-kcal}' MYSQL_DATABASE: '${DB_DATABASE:-kcal}' MYSQL_USER: '${DB_USERNAME:-kcal}' MYSQL_PASSWORD: '${DB_PASSWORD:-kcal}' MYSQL_ALLOW_EMPTY_PASSWORD: 'yes' volumes: - 'mysql-data:/var/lib/mysql' networks: - sail elasticsearch: image: 'elasticsearch:7.12.0' environment: - xpack.security.enabled=false - discovery.type=single-node ulimits: memlock: soft: -1 hard: -1 nofile: soft: 65536 hard: 65536 cap_add: - IPC_LOCK volumes: - elasticsearch-data:/usr/share/elasticsearch/data ports: - '${ELASTIC_PORT:-9200}:9200' networks: - sail redis: image: 'redis:alpine' ports: - '${REDIS_PORT:-6379}:6379' volumes: - 'redis-data:/data' networks: - sail networks: sail: driver: bridge volumes: elasticsearch-data: driver: local mysql-data: driver: local redis-data: driver: local