v1.0.7-beta.002 - perf: implement streaming backups and standardize Docker cache volume
This commit addresses memory scalability limits for massive libraries and improves quality-of-life for Docker administrators.
Performance & Stability:
- Replaced the in-memory JSON serialization for database backups with an AES-256-CBC streaming cipher engine (/api/admin/backup and the background cron job). Backups are now streamed in chunks of 500 rows directly to disk/client, virtually eliminating RAM consumption and preventing Node.js V8 OOM crashes on huge databases.
Docker & Configuration:
- Standardized the CBR to CBZ converter to use the /cache directory by default instead of /app/tmp, aligning with standard Docker compose setups and preventing container bloat.
- Added a Docker Volume Bindings UI panel to the Settings > Paths tab so admins can easily reference their BACKUP_PATH, CACHE_DIR, and LOG_PATH environment variables.
- Updated docker-compose.yml documentation in the README to explicitly include the /cache volume mount.
Documentation:
- Updated the README.md feature list to reflect recent additions: ComicInfo.xml metadata embedding, Genres & Story Arcs UI, and AES-256 database encryption.
- Fixed minor UI state bugs in the Download Clients modal.