- Add GoAccess package to Docker container
- Create GoAccess startup script with real-time HTML generation
- Add metrics.ralsina.me server block with authentication
- Configure WebSocket proxy for live metrics updates
- Add password protection with .htpasswd
- Fix WebSocket URL to use proper HTTPS endpoint
- Update all server blocks to listen on 0.0.0.0:8080 for Fly.io compatibility
Co-Authored-By: z.ai LGM 4.5 <noreply@z.ai>
- Add global rate limiting zones (10r/s, 3r/s for POST)
- Add API service limits (5r/s) for faas/gotify
- Add unknown user agent detection with strict limits (2r/s)
- Skip rate limiting for WebSocket connections
- Add 429 error pages for rate limit exceeded
- Enhance existing AI bot blocking with additional protection
Co-Authored-By: z.ai model <noreply@z.ai>