@echo off setlocal enabledelayedexpansion set "LOG=%~dp0dry_run_log.txt" REM --- Start fresh log --- echo [AZA DRY-RUN] Log file: %LOG% > "%LOG%" echo [AZA DRY-RUN] Starting local Docker dry-run... >> "%LOG%" echo [AZA DRY-RUN] Working dir: %~dp0 >> "%LOG%" cd /d "%~dp0" >> "%LOG%" 2>&1 REM --- Check Docker --- docker --version >> "%LOG%" 2>&1 if errorlevel 1 ( echo [AZA DRY-RUN] ERROR: Docker not found. Install Docker Desktop and try again. >> "%LOG%" notepad "%LOG%" exit /b 1 ) REM --- Check Docker Compose plugin --- docker compose version >> "%LOG%" 2>&1 if errorlevel 1 ( echo [AZA DRY-RUN] ERROR: "docker compose" not available. Update Docker Desktop and try again. >> "%LOG%" notepad "%LOG%" exit /b 1 ) echo [AZA DRY-RUN] Building and starting containers... >> "%LOG%" docker compose up -d --build >> "%LOG%" 2>&1 if errorlevel 1 ( echo [AZA DRY-RUN] ERROR: docker compose up failed. >> "%LOG%" echo [AZA DRY-RUN] Showing logs (last 200 lines)... >> "%LOG%" docker compose logs --tail=200 >> "%LOG%" 2>&1 notepad "%LOG%" exit /b 1 ) echo. >> "%LOG%" echo [AZA DRY-RUN] Containers status: >> "%LOG%" docker compose ps >> "%LOG%" 2>&1 echo. >> "%LOG%" echo [AZA DRY-RUN] Testing endpoints via Caddy (http://127.0.0.1) ... >> "%LOG%" REM curl is usually available on Win11; if not, log it curl --version >> "%LOG%" 2>&1 echo [AZA DRY-RUN] 1) /health >> "%LOG%" curl -sS http://127.0.0.1/health >> "%LOG%" 2>&1 echo. >> "%LOG%" echo [AZA DRY-RUN] 2) /version >> "%LOG%" curl -sS http://127.0.0.1/version >> "%LOG%" 2>&1 echo. >> "%LOG%" echo [AZA DRY-RUN] 3) /license/status without token (expect 401) >> "%LOG%" curl -sS -o NUL -w "HTTP %{http_code}\n" http://127.0.0.1/license/status >> "%LOG%" 2>&1 echo. >> "%LOG%" echo [AZA DRY-RUN] Done. Opening log... >> "%LOG%" notepad "%LOG%" endlocal