Commit Graph

221 Commits

Author SHA1 Message Date
stellarshenson
e0ceed8004 feat: add idle culler session extension and harmonize env settings
Session Extension Feature:
- Add JUPYTERHUB_IDLE_CULLER_MAX_EXTENSION env var (default 24h)
- Add SessionInfoHandler and ExtendSessionHandler API endpoints
- Add Session Status card to home page with countdown timer
- Extension tracking in spawner state (resets on server restart)
- Color-coded warnings (yellow <1h, red <30min)

Environment Settings Harmonization:
- Add all ENV defaults to Dockerfile
- Add idle culler settings to compose.yml
- Standardize logo as JUPYTERHUB_LOGO_URI with file:// prefix
- Update NVIDIA_IMAGE to nvidia/cuda:13.0.2-base-ubuntu24.04
2026-01-18 20:28:33 +01:00
stellarshenson
1db8ed1129 feat: rename JUPYTERHUB_SERVICE_GLANCES to JUPYTERHUB_SERVICE_RESOURCES_MONITOR CHECKPOINT_3.6.12 3.6.12_cuda-13.0.2_jh-5.4.2 2026-01-18 18:18:29 +01:00
stellarshenson
45cb18da4d feat: enhance traefik-host-based-routing with CIFS and cert installers
- Add optional CIFS mount support via compose_cifs.yml and .env
- Create install_cert.sh for Linux (multi-distro support)
- Enhance install_cert.bat with folder argument and help flags
- Fix compose_override.yml stray quote, add idle culler defaults
- Enhance generate-certs.sh with generic CN and verification
- Update start.sh/stop.sh to support ENABLE_CIFS from .env
- Update README with CIFS and certificate installation docs
2026-01-16 16:27:45 +01:00
stellarshenson
72fcc32eaf feat: add stop.sh script for platform shutdown 2026-01-16 14:34:17 +01:00
stellarshenson
7cd56fe2d6 fix: fixed issue with the gpustat not showing in the prompt RELEASE_3.6.11 3.6.11_cuda-13.0.2_jh-5.4.2 2026-01-16 11:38:58 +01:00
stellarshenson
349d243545 chore: update journal with server_version fix 3.6.10_cuda-13.0.2_jh-5.4.2 2026-01-14 17:36:04 +01:00
stellarshenson
35955c9671 fix: add server_version to global template_vars
HomeHandler doesn't pass server_version to templates (only AdminHandler does).
Added jupyterhub.__version__ to c.JupyterHub.template_vars for global access.
2026-01-14 17:35:18 +01:00
stellarshenson
940ac7e0d9 feat: add version footer to home page
Display Stellars JupyterHub DS and JupyterHub versions in footer.
Uses short version format (major.minor.patch) only.
3.6.8_cuda-13.0.2_jh-5.4.2
2026-01-14 17:30:40 +01:00
stellarshenson
181e2ac5f4 chore: cleanup templates directory structure
- Remove unused *.html from services/jupyterhub/templates/
- Keep only certs/ subdirectory in templates/
- Rename templates_enhanced to html_templates_enhanced
- Update Dockerfile COPY paths
3.6.6_cuda-13.0.2_jh-5.4.2
2026-01-14 17:19:12 +01:00
stellarshenson
6a1ac93d1f updated project version 2026-01-14 17:13:04 +01:00
stellarshenson
9e52c3c36a feat: xkcdpass password generation with configurable options
- Move settings_dictionary.yml to services/jupyterhub/conf/
- Replace hardcoded word list with xkcdpass library
- Add JUPYTERHUB_AUTOGENERATED_PASSWORD_WORDS (default: 4)
- Add JUPYTERHUB_AUTOGENERATED_PASSWORD_DELIMITER (default: "-")
- Fix ENABLE_SIGNUP to JUPYTERHUB_SIGNUP_ENABLED in Dockerfile
3.6.5_cuda-13.0.2_jh-5.4.2
2026-01-14 17:11:27 +01:00
stellarshenson
f7770d5e3a updated project version 2026-01-14 16:53:42 +01:00
stellarshenson
d8a306a0d5 feat: externalize settings metadata to YAML dictionary
- Add config/settings_dictionary.yml with category-based structure
- Categories as top-level keys (JupyterHub Core, Docker Spawner, etc.)
- Each setting has name, description, default, optional empty_display
- Update SettingsPageHandler to load from YAML file
- Add pyyaml to Dockerfile pip dependencies
- Refactor pip install to heredoc format with echo message
3.6.4_cuda-13.0.2_jh-5.4.2
2026-01-14 16:43:26 +01:00
stellarshenson
022e970dbf feat: standardize env vars with JUPYTERHUB_ prefix, add admin settings page
- Rename 13 environment variables to use JUPYTERHUB_ prefix:
  - ENABLE_GPU_SUPPORT -> JUPYTERHUB_GPU_ENABLED
  - ENABLE_JUPYTERHUB_SSL -> JUPYTERHUB_SSL_ENABLED
  - ENABLE_SERVICE_* -> JUPYTERHUB_SERVICE_*
  - ENABLE_SIGNUP -> JUPYTERHUB_SIGNUP_ENABLED
  - DOCKER_NOTEBOOK_IMAGE -> JUPYTERHUB_NOTEBOOK_IMAGE
  - DOCKER_NETWORK_NAME -> JUPYTERHUB_NETWORK_NAME
  - NVIDIA_AUTODETECT_IMAGE -> JUPYTERHUB_NVIDIA_IMAGE
  - IDLE_CULLER_* -> JUPYTERHUB_IDLE_CULLER_*
- Add SettingsPageHandler with admin-only access at /settings
- Add Settings link to admin navbar
- Sync templates from templates_enhanced to templates
- Update README.md and CLAUDE.md documentation
- No backward compatibility for old variable names
2026-01-14 16:39:34 +01:00
stellarshenson
a40bb19f5b feat: add Notifications link to admin navbar 2026-01-14 16:17:26 +01:00
stellarshenson
4b6ac08ab0 feat: idle server culler for automatic shutdown of inactive servers
- Add jupyterhub-idle-culler package to Dockerfile
- Configure as managed JupyterHub service with role-based scopes
- Environment variables: IDLE_CULLER_ENABLED, IDLE_CULLER_TIMEOUT,
  IDLE_CULLER_CULL_EVERY, IDLE_CULLER_MAX_AGE
- Default: disabled, 24h timeout, 10min check interval
- Bump version to 3.6.0
2026-01-14 16:15:21 +01:00
stellarshenson
cd9c6bf7fa feat: selective notification recipients
Add ability to send notifications to selected servers instead of all.
- New ActiveServersHandler at GET /api/notifications/active-servers
- BroadcastNotificationHandler accepts optional recipients array
- UI with "Send to all" checkbox and server selection list
- Select All/Deselect All buttons, dynamic button text
- Backward compatible - sends to all if recipients not specified
CHECKPOINT_BEFORE_INACTIVITY_SHUTDOWN_3.5.46 3.5.46_cuda-12.9.1_jh-5.4.2
2026-01-14 12:46:49 +01:00
stellarshenson
f5874b1e94 docs: add new user credentials screenshot and improve branding section CHECKPOINT_before_selective_notifications_3.5.44_cuda-12.9.1_jh-5.4.2 2026-01-08 14:37:37 +01:00
stellarshenson
ad789d7632 fix: lowercase hex encoding for docker volume names FIX_volume_encoding_3.5.43 3.5.44_cuda-12.9.1_jh-5.4.2 2026-01-08 14:24:06 +01:00
stellarshenson
5e633a9841 fix: encode usernames for docker volume/container names
Use escapism library (same as DockerSpawner) to encode special
characters in usernames when constructing Docker volume and container
names. Fixes volume reset for users with dots in names (e.g., user.name).
2026-01-08 13:37:53 +01:00
stellarshenson
ea7d45c696 updated cert installer for linux 2026-01-07 05:09:12 +01:00
stellarshenson
abc11c5872 updated startup scripts with images pull 2026-01-07 03:52:40 +01:00
stellarshenson
117e1d6c58 added pull for lab 2026-01-07 03:50:51 +01:00
stellarshenson
988cebf9f1 chore: enhance certs-installer with folder param and help
- Add optional directory argument to install_cert.sh and install_cert.bat
- Add -h/--help flags showing usage, file types, and examples
- Display scanning directory in output
- Increase logo height to 2.25rem
2026-01-07 03:44:31 +01:00
stellarshenson
36933afe2b chore: further enhanced display of logo 2026-01-07 03:05:16 +01:00
stellarshenson
f50dfbd3c5 docs: update journal with custom logo support RELEASE_3.5.36 3.5.38_cuda-12.9.1_jh-5.4.2 2026-01-07 01:45:22 +01:00
stellarshenson
a6686ab4a2 feat: custom logo support and authorization handler fix
- Add JUPYTERHUB_LOGO_FILE config for custom logo (served at /hub/logo)
- Fix CustomAuthorizationAreaHandler with @needs_scope decorator
- Import orm inside get() method to fix NameError
- Simplify page.html logo block (always use base_url/logo)
2026-01-07 01:44:54 +01:00
stellarshenson
8be73942da feat: server-side authorization discard button protection
- Add StellarsNativeAuthenticator subclass with CustomAuthorizationAreaHandler
- Pass hub_usernames set to template for Jinja2 conditional logic
- Remove JavaScript API call approach (was clunky with XSRF token handling)
- Fix Bootstrap 5 table hover color override (target td/th explicitly)
FIX_AUTHORIZATION_DISCARD_3.5.35 3.5.36_cuda-12.9.1_jh-5.4.2
2026-01-07 01:16:52 +01:00
stellarshenson
8a420cbb63 feat: document mnemonic passwords and fix table hover styling 2026-01-07 00:44:00 +01:00
stellarshenson
3607c5cb4c fix: use Bootstrap CSS variable for table hover opacity 3.5.31_cuda-12.9.1_jh-5.4.2 2026-01-07 00:21:44 +01:00
stellarshenson
20ed13baab fix: reduce spacing before Shutdown Hub button 3.5.27_cuda-12.9.1_jh-5.4.2 2026-01-06 23:58:04 +01:00
stellarshenson
6378b68821 fix: admin panel styling and replace eye emoji with icons 2026-01-06 23:55:02 +01:00
stellarshenson
3ab1c38932 chore: update journal entry for volume-renamer 2026-01-06 23:13:29 +01:00
stellarshenson
936fa523ca chore: use generic examples in volume-renamer help 2026-01-06 23:12:59 +01:00
stellarshenson
2618f699f5 feat: add volume-migration scripts for renaming and user migration 2026-01-06 23:03:16 +01:00
stellarshenson
3a7d697834 feat: add --refresh flag to traefik template start.sh 2026-01-06 23:00:16 +01:00
stellarshenson
4094e04a67 fix: further admin panel styling refinements
- Reduce user row hover to nearly invisible (0.003 alpha)
- Fix Add Users button: stock colors in light mode, explicit in dark mode
- Make collapse buttons more compact (0.2rem 0.3rem)
- Add username label left padding
- Update journal
RELEASE_3.5.25
2026-01-06 22:54:24 +01:00
stellarshenson
ddc9cb8382 fix: refine admin panel styling - buttons, hover, spacing
- Fix Add Users button to use stock btn-light colors (size only)
- Disable hover on expanded card tables via box-shadow override
- Add padding:0 to expanded user detail td cells
- Make collapse buttons more compact (0.2rem 0.3rem)
- Add left padding to username labels
- Add groups page styling (list items, card footer)
2026-01-06 22:47:22 +01:00
stellarshenson
c1ae9938c1 feat: comprehensive UI styling for notifications, admin panel, tokens
- Add notifications page styling (form, textarea, results table)
- Unify button font sizes to 0.8rem across all pages
- Set collapsed user card padding to 0
- Add subtle hover effect on admin user rows (0.015 alpha)
- Style Add Users form panel with dark mode support
- Style authorization and token pages consistently
2026-01-06 22:26:19 +01:00
stellarshenson
f1a8b5e6ce feat: add custom logo support via JUPYTERHUB_CUSTOM_LOGO_URI env var 2026-01-06 21:45:40 +01:00
stellarshenson
e0f5bf11e3 feat: add compact styling inspired by Stellars Sublime theme 2026-01-06 21:43:41 +01:00
stellarshenson
693ca06405 docs: update journal with recent changes, update version comment RELEASE_3.5.11_cuda-12.9.1_jh-5.4.2 2026-01-06 21:36:17 +01:00
stellarshenson
79a09db50d chore: comment out console logs in admin template 2026-01-06 21:31:46 +01:00
stellarshenson
bd63c72fd4 feat: add per-row copy icon in credentials modal 2026-01-06 21:30:07 +01:00
stellarshenson
43255f70bb fix: store password as bytes, enable COMPOSE_BAKE STABLE_3.5.10_cuda-12.9.1_jh-5.4.2 2026-01-06 21:25:10 +01:00
stellarshenson
bc99236162 fix: move spinner functions before fetch interceptor 2026-01-06 21:18:25 +01:00
stellarshenson
bc76c4f767 feat: add loading spinner during credentials fetch 2026-01-06 21:15:42 +01:00
stellarshenson
f5b8a5717e fix: credentials modal - buttons on top, scrollable list, plain styling 2026-01-06 21:13:19 +01:00
stellarshenson
c0b525d02f chore: improve version increment output format 2026-01-06 21:09:34 +01:00
stellarshenson
6f85208352 fix: change credentials endpoint from /api/users to /api/admin 2026-01-06 21:00:21 +01:00