Skip to main content
Mounts let you expose host directories (datasets, notebooks, source code) to the GRID containers that run your sessions. This page assumes you have already added the remote node to resource_config.json as described in Remote Nodes & Client Mode.

Define Storage Mappings

Add a storage object to any node that should expose directories:
{
  "id": "lab-gpu-0",
  "ip": "10.40.0.10",
  "storage": {
    "datasets": "/opt/grid/datasets",
    "notebooks": "/opt/grid/notebooks",
    "code": "/home/robotics/projects"
  }
}
Each key becomes a mount name. GRID uses it to create two bind mounts inside the containers:
  • /workspace/<mount_name> in the grid_core container
  • /mnt/<mount_name> in the simulator container (for example /mnt/datasets)
The values must be absolute paths on the remote host. Ensure the GRID user has read (and when appropriate write) permissions to those directories.

Apply Changes

  1. Update ~/.grid/resource_config.json on the CLI machine.
  2. Restart the CLI (grid) so it reloads the configuration.
  3. Re-run init on the target node. GRID rewrites the Docker Compose volumes each time it brings the stack up, so new mounts take effect on the next initialisation.
You can confirm the mapping with docker inspect grid_core on the remote host or by opening the notebook (open nb @node) and listing the /workspace directory.

Tips & Good Practices

  • Keep mount names short and descriptive (datasets, logs, notebooks).
  • Use read-only mounts for immutable datasets by updating the Docker Compose file on the remote host if your security model requires it.
  • Remove a mount by deleting the key from storage; the next init regenerates the configuration without it.
Once your storage is in place, your sessions can read and write content just as if the data lived locally on the node.