services: laravel.test: build: context: './docker/sail' dockerfile: Dockerfile args: WWWGROUP: '${WWWGROUP}' image: 'sail-8.5/temporal-app' extra_hosts: - 'host.docker.internal:host-gateway' ports: - '${APP_PORT:-80}:80' - '${VITE_PORT:-5173}:${VITE_PORT:-5173}' environment: 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' - '/var/run/docker.sock:/var/run/docker.sock' - './docker/sail/start-container:/usr/local/bin/start-container' networks: - sail depends_on: - pgsql - redis - temporal temporal-worker: image: 'sail-8.5/temporal-app' restart: unless-stopped command: /var/www/html/rr serve -c /var/www/html/.rr.yaml volumes: - '.:/var/www/html' environment: WWWUSER: '${WWWUSER}' LARAVEL_SAIL: 1 DB_HOST: pgsql DB_DATABASE: '${DB_DATABASE}' DB_USERNAME: '${DB_USERNAME}' DB_PASSWORD: '${DB_PASSWORD}' networks: - sail depends_on: - temporal - pgsql temporal: image: temporalio/auto-setup:latest ports: - '7233:7233' environment: - DB=postgres12 - DB_PORT=5432 - POSTGRES_USER=temporal - POSTGRES_PWD=temporal - POSTGRES_SEEDS=temporal-pgsql depends_on: temporal-pgsql: condition: service_healthy networks: - sail temporal-ui: image: temporalio/ui:latest ports: - '8080:8080' environment: - TEMPORAL_ADDRESS=temporal:7233 depends_on: - temporal networks: - sail temporal-pgsql: image: postgres:16-alpine environment: POSTGRES_USER: temporal POSTGRES_PASSWORD: temporal volumes: - 'sail-temporal-pgsql:/var/lib/postgresql/data' networks: - sail healthcheck: test: ["CMD", "pg_isready", "-U", "temporal"] interval: 5s retries: 10 timeout: 5s start_period: 10s pgsql: image: 'postgres:18-alpine' 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' - './vendor/laravel/sail/database/pgsql/create-testing-database.sql:/docker-entrypoint-initdb.d/10-create-testing-database.sql' 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 networks: sail: driver: bridge volumes: sail-pgsql: driver: local sail-redis: driver: local sail-temporal-pgsql: driver: local