# Local development overlay: bind-mount source + Vite HMR. # Usage: # docker compose -f docker-compose.yml -f docker-compose.dev.yml up --build -d # Or set in .env: # COMPOSE_FILE=docker-compose.yml:docker-compose.dev.yml services: app: environment: KEEP_VITE_HOT: "true" volumes: - .:/app depends_on: vite: condition: service_started queue: # Reload PHP between jobs so code mounts take effect without restarting. command: - php - artisan - queue:listen - database - --sleep=1 - --tries=1 - --timeout=${TRANSCRIPTION_TIMEOUT:-600} environment: KEEP_VITE_HOT: "true" volumes: - .:/app reverb: environment: KEEP_VITE_HOT: "true" volumes: - .:/app vite: image: node:22-bookworm container_name: andytranscribe-vite working_dir: /app command: > sh -c "if [ ! -x node_modules/.bin/vite ]; then npm ci; fi; npm run dev -- --host 0.0.0.0 --port 5173" ports: - "${VITE_HOST_PORT:-5173}:5173" environment: VITE_APP_NAME: ${VITE_APP_NAME:-AndyTranscribe} VITE_REVERB_APP_KEY: ${REVERB_APP_KEY:-andytranscribe-key} VITE_REVERB_HOST: ${VITE_REVERB_HOST:-localhost} VITE_REVERB_PORT: ${REVERB_HOST_PORT:-8081} VITE_REVERB_SCHEME: ${VITE_REVERB_SCHEME:-http} VITE_USE_POLLING: "true" volumes: - .:/app - vite-node-modules:/app/node_modules restart: unless-stopped volumes: vite-node-modules: