The Docker build fails because vite-plugin-pwa@1.2.0 only supports vite up to v7, but the project uses vite@8.
npm ci in the Dockerfile errors with:
Could not resolve dependency:
peer vite@"^3.1.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0" from vite-plugin-pwa@1.2.0
Fix: Add web/.npmrc with legacy-peer-deps=true to allow the install while upstream adds vite@8 support.