- Add nginx /gwproxy/ reverse proxy with correct Origin header - Auto-detect cross-origin gateway URL in GatewayClient.connect() - Detect path-based proxy deployment in LoginScreen getInitialUrl() - Change nginx/Docker to listen on port 3000, use host network mode
- X-Content-Type-Options, X-Frame-Options, Referrer-Policy, Permissions-Policy - Prevent caching index.html so SPA updates are always picked up - Add engines field (node >=18) and lint:fix script to package.json
- Multi-stage Dockerfile (node build + nginx:alpine serve) - nginx.conf with SPA fallback, gzip, asset caching - docker-compose.yml for easy deployment - GitHub Actions workflow to build & push to ghcr.io on every push - .dockerignore to keep image lean - Updated README with Docker-first quick start and badge