Commit Graph

28 Commits

Author SHA1 Message Date
stellarshenson
28cb8098dc docs: simplify architecture diagram labels
Condensed verbose diagram labels following modus primaris:
- "NativeAuthenticator User Management" -> "NativeAuthenticator"
- "User: alice" -> "alice"
- "alice_home/alice_workspace/alice_cache" -> "Volumes home/workspace/cache"
- "jupyterhub_shared CIFS/NAS Optional" -> "Shared Storage CIFS/NAS"
- Removed verbose edge labels (|Mounts|, |Shared|) for cleaner flow

Diagram remains clear while reducing visual noise and text verbosity.
2025-11-09 22:28:51 +01:00
stellarshenson
cc124e2a3a docs: simplify notification broadcast feature description
Condensed verbose notification broadcast description to essential facts:
- Admin broadcast capability
- Route location (/hub/notifications)
- Six notification types
- 140-character limit
- Extension dependency

Reduced from 3 sentences to 2 short sentences following modus primaris brevity.
2025-11-09 22:28:12 +01:00
stellarshenson
3516be1f63 docs: reorganize README structure with features first, modus primaris style
Restructured README.md following modus primaris approach:
1. Simplified intro (one concise paragraph)
2. Features as bullet points at top
3. User Interface screenshots (with explanations before images)
4. Architecture diagram and explanation
5. Remaining sections (References, Requirements, Quickstart, etc.)

Removed duplicate Features and User Interface sections that were previously
positioned after Architecture. Content now flows logically from high-level
features to visual examples to technical architecture details.
2025-11-09 22:26:43 +01:00
stellarshenson
6cfd8a9af5 docs: reorganize README screenshots with explanations before images
Reordered User Interface section:
- Home control panel (server restart and volume management)
- Volume management screenshots grouped together
- Admin notification broadcast (last)

Changed format: explanation text with heading before each screenshot image,
replacing italic captions below images for better readability.
2025-11-09 22:25:11 +01:00
stellarshenson
9eda62edd7 docs: add comprehensive documentation and update screenshots
Added three new documentation files following modus primaris style:
- doc/ui-template-customization.md: Guide for extending JupyterHub UI
  templates with RequireJS, Bootstrap 5, CSRF protection, and custom handlers
- doc/docker-socket-permissions.md: Docker socket access control documentation
  covering group-based permissions, security implications, and best practices
- doc/notifications.md: Complete notification broadcast system documentation
  including implementation details, API integration, error handling, and
  troubleshooting

Updated UI screenshots in README.md:
- Replaced screenshot-restart-server.png with screenshot-home.png showing
  complete user control panel (restart server + volume management)
- Added screenshot-send-notification.png showing admin notification broadcast
  interface with message composer, type selector, and delivery results

All documentation follows consistent structure: brief overview, key facts in
bullet points, explanatory narrative, and technical specifications without
excessive nesting or marketing language.
2025-11-09 22:20:28 +01:00
stellarshenson
0e39fac7ac feat: add admin notification broadcast system for active JupyterLab servers
Implemented comprehensive notification broadcast functionality allowing
administrators to send notifications to all active user JupyterLab servers
simultaneously through a dedicated admin panel.

Core Features:
- Admin-only notification panel accessible at /hub/notifications
- Concurrent delivery to all active servers using asyncio with 5s timeout
- Temporary API token generation (5-minute expiry) for authentication
- Support for 6 notification types: default, info, success, warning, error, in-progress
- 140-character message limit with live character counter
- Auto-close toggle and dismiss button in notifications
- Dynamic endpoint URL construction using spawner.server.base_url
- Comprehensive error handling with user-friendly messages
- One-line logging per server with message preview and outcome

Technical Implementation:
- Created BroadcastNotificationHandler in custom_handlers.py
- Created NotificationsPageHandler for admin UI rendering
- Added notifications.html template with Bootstrap 5 form
- Registered handlers in jupyterhub_config.py extra_handlers
- Sends to /jupyterlab-notifications-extension/ingest endpoint
- Payload includes type, message, autoClose, and actions array
- Navigation link added to home.html for admin access

Integration:
- Requires jupyterlab_notifications_extension installed on JupyterLab servers
- Uses correct payload format (type field, not variant)
- Includes Dismiss action button for manual notification closure

Documentation:
- Updated .claude/CLAUDE.md with complete feature documentation
- Updated README.md Features section with notification broadcast details
- Updated .claude/JOURNAL.md with implementation summary
- Removed obsolete FEATURE_PLAN.md

Version: 3.2.0 (bumped from 3.1.2)
2025-11-09 22:05:06 +01:00
stellarshenson
067b613397 feat: add group-based docker.sock access control for privileged users
Implemented built-in protected group system enabling admins to grant trusted users read-write Docker socket access within their JupyterLab containers. Groups are managed through admin panel and cannot be permanently deleted.
2025-11-05 20:15:30 +01:00
stellarshenson
274237ee7c docs: remove fill colors from architecture diagram for transparent background
- Remove fill colors from mermaid diagram nodes
- Keep stroke colors and widths for visual distinction
- Improves compatibility with different GitHub themes (light/dark mode)
2025-11-04 10:54:10 +01:00
stellarshenson
a296338db1 docs: reorganize README with architecture diagram and improved structure
- Add mermaid diagram illustrating JupyterHub architecture and user flow
- Move screenshots higher in document under dedicated User Interface section
- Visualize relationships between Traefik, Hub, Spawner, and user containers
- Show per-user volumes and shared storage configuration
- Improve document flow: Architecture -> UI -> Features -> Setup
2025-11-04 10:53:12 +01:00
stellarshenson
c06baa8372 docs: add features section and screenshots to README v3.0.14
Documentation enhancements:
- Add comprehensive Features section highlighting key capabilities
- Document GPU auto-detection, user self-service, isolated environments
- Include production-ready features (Traefik, TLS, Watchtower)
- Add Self-Service Volume Management subsection with visual examples
- Include three screenshots demonstrating UI features:
  - Restart Server button (active state)
  - Manage Volumes button (stopped state)
  - Volume selection modal (checkbox interface)
- Position screenshots prominently after feature list
- Provide one-sentence descriptions for each screenshot

Technical updates:
- Increase Stop Server refresh delay to 3 seconds for stability
- Update version to 3.0.14

Screenshots stored in .resources/ directory for future reference
2025-11-04 10:16:45 +01:00
Konrad Jeleń
b28cbe7570 Remove GitHub Stars badge from README
Removed GitHub Stars badge from README.
2025-10-26 18:43:57 +01:00
stellarshenson
cfd62254dd feat: add docker pulls and github stars badges to readme
Added Docker pulls badge and GitHub stars badge alongside existing Docker image size badge for better project visibility and metrics tracking.
2025-10-26 17:37:56 +00:00
stellarshenson
fba2347463 updated readme 2025-08-08 01:46:26 +02:00
stellarshenson
cb8e6e106f updated permissions 2025-08-07 17:22:30 +02:00
stellarshenson
8d8d874a1c updated names of the enable variables 2025-07-23 23:56:01 +02:00
stellarshenson
d856089b64 small fixes to the documentation of the config files 2025-07-22 09:45:39 +00:00
stellarshenson
c98349a111 updated readme with shared cifs example 2025-07-19 14:06:24 +02:00
stellarshenson
aff7eb90da updated link to admin 2025-07-18 19:29:30 +02:00
stellarshenson
a68810e7ec updated with more examples: volume, GPU, custom config 2025-07-18 19:26:13 +02:00
stellarshenson
f4ec65ce50 updated with examples for custom config 2025-07-18 19:22:37 +02:00
stellarshenson
1bd280326e updated override mechanism 2025-07-18 16:23:47 +02:00
stellarshenson
0dfe3bc882 updated 2025-07-18 02:50:24 +02:00
stellarshenson
3fe21bf684 updated with indicator of image health 2025-07-18 00:31:49 +00:00
stellarshenson
444bb3fa6c updated permissions 2025-07-18 00:15:55 +00:00
stellarshenson
2c651e3760 updated readme 2025-07-17 19:08:06 +02:00
stellarshenson
583c2ced62 added readme file 2025-07-17 19:06:38 +02:00
stellarshenson
0376b50f28 updated files permissions 2025-07-16 05:15:04 +02:00
stellarshenson
dceaa7075b first build 2025-07-15 17:12:28 +02:00