Public | Automated Build

Last pushed: a year ago
Short Description
NDS Labs Workbench analysis tool manager
Full Description

Tool Manager

The Tool Manager provides the ability to configure and launch analysis environments, such as RStudio and Jupyter Notebooks, pulling data from repository software such as Clowder. It began as a feature of the TERRA-REF project to provide analysis capabilities in Clowder.


docker build -t ndslabs/toolmanager .


docker run -it -p 8082:8082 ndslabs/toolmanager

How It Works

The ToolManager itself runs as a Docker-in-Docker container that can spawn other containers. The Docker-in-Docker paradigm was introduced to ensure that any running instances are cleaned up / deleted if the host container goes down. Otherwise, we are left with dangling containers that must be cleaned up / deleted manually.

Two REST API Endpoints provide restricted access to the underlying Docker daemon: /tools and /instances


  • GET - Retrieve the list of all available tools
  • POST - Add a new tool to the list (not implemented)
  • PUT - Modify a tool on the list (not implemented)
  • DELETE - Delete a tool from the list (not implemented)


  • GET - Retrieve the list of all running instances
  • POST - Create and start a new instance of a tool
  • PUT - Modify the given running instance (for example, to add another dataset to an existing instance)
  • DELETE - Stop and delete the given running instance (not implemented)

See also

Docker Pull Command
Source Repository