Skip to content

Built-in templates

LabPod ships a catalog of global templates. A few are enabled out of the box; the rest ship disabled, so your admin decides which ones the lab actually needs before they appear in the workspace creation dialog.

If you only want to know which ones you can pick right now, look at your workspace creation page - it lists exactly the templates your admin has enabled. This page explains what each one is for.

Open Templates → Template gallery to browse every template shipped with LabPod, including ones your administrator has not enabled. The status on each card explains what can happen next:

  • Ready to launch: create a workspace immediately, or clone the template to customize it.
  • Not built on this host: the bundled image must be built locally before the original template can launch. You can still clone its Dockerfile and files into your own work directory.
  • Not enabled here: the administrator has not enabled the shared template. You can still clone it when its source is available.

Clone & customize creates a private entry under My templates. A Dockerfile-backed template copies its editable build context into your work directory; edit it, choose Build, then enable launching by saving the template. A registry-image template keeps the existing image reference and has no Dockerfile to edit, though you can still change its template settings.

For project-level Python packages, cloning and rebuilding an image is usually unnecessary. Create a virtual environment under your persistent workspace home instead:

Terminal window
python3 -m venv ~/.venvs/myproj
source ~/.venvs/myproj/bin/activate
pip install ...
TemplateWhat’s insideAppsGPU
PyTorch JupyterLabPyTorch on a LabPod-built CUDA image; the CUDA tag is matched to your host’s driver and GPU at first startJupyterLab, TensorBoard, Codeon by default
TensorFlow JupyterLabTensorFlow, bundling its own CUDA so it runs on older drivers tooJupyterLab, TensorBoard, Codeon by default
Data Science JupyterLab (CPU)NumPy, SciPy, pandas, scikit-learn, matplotlib, seaborn, bokehJupyterLabnone
Code ServerVS Code in the browser with Open VSX extensionsCodeoptional

These pull public images from ghcr.io/labpod/* (or ghcr.io/coder for Code Server), so there is nothing to build.

Your admin enables these after pulling the image; some also require acknowledging the vendor’s terms.

TemplateWhat’s insideAppsNotes
PyTorch Demo WorkspaceA guided showcase of everything at once; demo notebooks are seeded into /work on first startJupyterLab, TensorBoard, Code, Terminal, MLflow, AimCPU by default, GPU image tags available
Anaconda JupyterLabAnaconda Distribution: conda plus the curated data-science stackJupyterLablicence acknowledgement required (Anaconda’s commercial terms)

These ship with a Dockerfile instead of a pre-built image, because they are large, hardware-specific, or need a licence you supply. Your admin builds the image once, then enables the template.

TemplateWhat’s insideAppsNotes
MS Code Serve-WebMicrosoft’s VS Code for the Web, with the official Marketplace and Pylance rather than Open VSXCodehost build and licence acknowledgement required
CUDA Composite WorkspaceA general CUDA workspace with the full app setJupyterLab, TensorBoard, Code, Terminal, MLflow, AimGPU on by default
LLM / Hugging Face Workspacetransformers, datasets, accelerate, peft, trl, bitsandbytes for fine-tuning and inferenceJupyterLab, TensorBoard, Code, TerminalGPU on by default
ComfyUI / Stable DiffusionNode-based image generation; models, inputs, outputs and custom nodes live under /work/comfyuiComfyUIGPU required
R ML JupyterLabR with tidyverse, tidymodels, caret, xgboost, randomForest, glmnet, and data.table; JupyterLab, its Python kernel, and reticulate share one interpreterJupyterLab (R and Python kernels), TensorBoardCPU by default; R torch/keras are not included
RStudio ServerRStudio with R, tidyverse, data.table, and reticulate on the rocker/ml baseRStudioGPU optional
MATLAB (matlab-proxy)MATLAB in the browserMATLABbring your own MATLAB licence; acknowledgement required
Parallel Programming (CUDA/MPI/OpenMP)GCC/gfortran/clang, OpenMP, OpenMPI, the CUDA toolkit (nvcc, cuda-gdb), Nsight profilersCodeGPU on by default; licence acknowledgement required
Miniforge JupyterLabA conda base with no commercial licensing attached (conda-forge)JupyterLablighter alternative to Anaconda
Python (uv) JupyterLabPlain PyPI Python with uv, no condaJupyterLabfor pip-style workflows

For the conda and uv templates, create your environments under /work so they survive a workspace stop and start.

If a template you want is disabled, ask your admin to enable it. What that involves depends on the template:

  1. Pull-only templates - pull the image, then enable.
  2. Build-required templates - build the image from the template’s bundled Dockerfile on the host, then enable. The build can take a while for the CUDA-based ones.
  3. Licence-gated templates - the admin acknowledges the vendor terms while enabling. MATLAB additionally needs your organisation’s own MATLAB licence.

Admins can edit any built-in template - change the image, adjust defaults, add or remove apps. Simply enabling or disabling one preserves that choice while its shipped definition continues to receive release updates. Editing or deleting a built-in template marks it as locally managed, so LabPod no longer overwrites it. Reset to shipped defaults restores the current definition without changing its enabled state or terms acknowledgement.

  • Your admin can create additional global templates for the whole lab.
  • You can create your own private template - see Workspaces & templates.
  • For ready-made environments across research domains (statistics, chemistry, bioinformatics, seismology, CFD and more), see Example notebooks (Cookbook).