From 18de422fea92c309a9e692365a3cd9d2a7f33e09 Mon Sep 17 00:00:00 2001 From: stellarshenson Date: Wed, 12 Nov 2025 11:40:02 +0000 Subject: [PATCH] docs: show multiple users sharing jupyterhub_shared volume in diagram --- README.md | 53 ++++++++++++++++++++++++++++++++++------------------- 1 file changed, 34 insertions(+), 19 deletions(-) diff --git a/README.md b/README.md index 95ef507..8e97659 100644 --- a/README.md +++ b/README.md @@ -213,33 +213,48 @@ Users manage their servers through the home page. Running servers can be restart ```mermaid graph TB subgraph HOST["Docker Host"] - VOLHOME["jupyterlab-(username)_home
Docker Volume"] - VOLWORK["jupyterlab-(username)_workspace
Docker Volume"] - VOLCACHE["jupyterlab-(username)_cache
Docker Volume"] + VOLHOME1["jupyterlab-user1_home
Docker Volume"] + VOLWORK1["jupyterlab-user1_workspace
Docker Volume"] + VOLCACHE1["jupyterlab-user1_cache
Docker Volume"] + + VOLHOME2["jupyterlab-user2_home
Docker Volume"] + VOLWORK2["jupyterlab-user2_workspace
Docker Volume"] + VOLCACHE2["jupyterlab-user2_cache
Docker Volume"] + VOLSHARED["jupyterhub_shared
Docker Volume - Shared"] end - subgraph CONTAINER["User Container"] - MHOME["/home
User home directory"] - MWORK["/home/lab/workspace
Working directory"] - MCACHE["/home/lab/.cache
Cache directory"] - MSHARED["/mnt/shared
Shared storage"] + subgraph CONTAINER1["User Container: user1"] + M1HOME["/home"] + M1WORK["/home/lab/workspace"] + M1CACHE["/home/lab/.cache"] + M1SHARED["/mnt/shared"] end - VOLHOME -.->|Mount| MHOME - VOLWORK -.->|Mount| MWORK - VOLCACHE -.->|Mount| MCACHE - VOLSHARED -.->|Mount| MSHARED + subgraph CONTAINER2["User Container: user2"] + M2HOME["/home"] + M2WORK["/home/lab/workspace"] + M2CACHE["/home/lab/.cache"] + M2SHARED["/mnt/shared"] + end - MHOME -.->|Contains| HOMEDATA[".bashrc, .ssh, configs"] - MWORK -.->|Contains| WORKDATA["notebooks, projects, code"] - MCACHE -.->|Contains| CACHEDATA["pip cache, conda pkgs"] - MSHARED -.->|Contains| SHAREDDATA["Datasets, shared resources"] + VOLHOME1 -.->|Mount| M1HOME + VOLWORK1 -.->|Mount| M1WORK + VOLCACHE1 -.->|Mount| M1CACHE + + VOLHOME2 -.->|Mount| M2HOME + VOLWORK2 -.->|Mount| M2WORK + VOLCACHE2 -.->|Mount| M2CACHE + + VOLSHARED -.->|Mount| M1SHARED + VOLSHARED -.->|Mount| M2SHARED style HOST stroke:#f59e0b,stroke-width:3px - style CONTAINER stroke:#3b82f6,stroke-width:3px - style VOLSHARED stroke:#10b981,stroke-width:2px - style MSHARED stroke:#10b981,stroke-width:2px + style CONTAINER1 stroke:#3b82f6,stroke-width:3px + style CONTAINER2 stroke:#3b82f6,stroke-width:3px + style VOLSHARED stroke:#10b981,stroke-width:3px + style M1SHARED stroke:#10b981,stroke-width:2px + style M2SHARED stroke:#10b981,stroke-width:2px ``` Each user receives four persistent volumes. Three user-specific volumes store home directory files, workspace projects, and cache data. The shared volume provides collaborative storage accessible across all user environments. Volume names follow the pattern `jupyterlab-{username}_` for per-user isolation. The shared volume can be configured as CIFS mount for NAS integration.