- Replace monolithic build flow with three operating modes: pull (default), local-build, publish
- Add version.txt for image tagging and multi-platform builds via buildx (--publish)
- Switch builder to tarball-based Quarto install for better cross-platform reliability
- Update docker-compose.yml and jupyterhub_config.py to use environment variables for image names, defaulting to registry images
- Refactor start-jupyterhub.sh: modular functions for image management, clearer flag handling and error messages
- Simplify Readme.md with structured tables instead of dense paragraphs, clarify data persistence and R package workflow