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.
Browsing and cloning
Section titled “Browsing and cloning”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:
python3 -m venv ~/.venvs/myprojsource ~/.venvs/myproj/bin/activatepip install ...Enabled out of the box
Section titled “Enabled out of the box”| Template | What’s inside | Apps | GPU |
|---|---|---|---|
| PyTorch JupyterLab | PyTorch on a LabPod-built CUDA image; the CUDA tag is matched to your host’s driver and GPU at first start | JupyterLab, TensorBoard, Code | on by default |
| TensorFlow JupyterLab | TensorFlow, bundling its own CUDA so it runs on older drivers too | JupyterLab, TensorBoard, Code | on by default |
| Data Science JupyterLab (CPU) | NumPy, SciPy, pandas, scikit-learn, matplotlib, seaborn, bokeh | JupyterLab | none |
| Code Server | VS Code in the browser with Open VSX extensions | Code | optional |
These pull public images from ghcr.io/labpod/* (or ghcr.io/coder for Code Server), so there is
nothing to build.
Opt-in, nothing to build
Section titled “Opt-in, nothing to build”Your admin enables these after pulling the image; some also require acknowledging the vendor’s terms.
| Template | What’s inside | Apps | Notes |
|---|---|---|---|
| PyTorch Demo Workspace | A guided showcase of everything at once; demo notebooks are seeded into /work on first start | JupyterLab, TensorBoard, Code, Terminal, MLflow, Aim | CPU by default, GPU image tags available |
| Anaconda JupyterLab | Anaconda Distribution: conda plus the curated data-science stack | JupyterLab | licence acknowledgement required (Anaconda’s commercial terms) |
Opt-in, image built on the host
Section titled “Opt-in, image built on the host”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.
| Template | What’s inside | Apps | Notes |
|---|---|---|---|
| MS Code Serve-Web | Microsoft’s VS Code for the Web, with the official Marketplace and Pylance rather than Open VSX | Code | host build and licence acknowledgement required |
| CUDA Composite Workspace | A general CUDA workspace with the full app set | JupyterLab, TensorBoard, Code, Terminal, MLflow, Aim | GPU on by default |
| LLM / Hugging Face Workspace | transformers, datasets, accelerate, peft, trl, bitsandbytes for fine-tuning and inference | JupyterLab, TensorBoard, Code, Terminal | GPU on by default |
| ComfyUI / Stable Diffusion | Node-based image generation; models, inputs, outputs and custom nodes live under /work/comfyui | ComfyUI | GPU required |
| R ML JupyterLab | R with tidyverse, tidymodels, caret, xgboost, randomForest, glmnet, and data.table; JupyterLab, its Python kernel, and reticulate share one interpreter | JupyterLab (R and Python kernels), TensorBoard | CPU by default; R torch/keras are not included |
| RStudio Server | RStudio with R, tidyverse, data.table, and reticulate on the rocker/ml base | RStudio | GPU optional |
| MATLAB (matlab-proxy) | MATLAB in the browser | MATLAB | bring your own MATLAB licence; acknowledgement required |
| Parallel Programming (CUDA/MPI/OpenMP) | GCC/gfortran/clang, OpenMP, OpenMPI, the CUDA toolkit (nvcc, cuda-gdb), Nsight profilers | Code | GPU on by default; licence acknowledgement required |
| Miniforge JupyterLab | A conda base with no commercial licensing attached (conda-forge) | JupyterLab | lighter alternative to Anaconda |
| Python (uv) JupyterLab | Plain PyPI Python with uv, no conda | JupyterLab | for pip-style workflows |
For the conda and uv templates, create your environments under /work so they survive a workspace
stop and start.
Asking for one
Section titled “Asking for one”If a template you want is disabled, ask your admin to enable it. What that involves depends on the template:
- Pull-only templates - pull the image, then enable.
- 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.
- Licence-gated templates - the admin acknowledges the vendor terms while enabling. MATLAB additionally needs your organisation’s own MATLAB licence.
Customising a built-in template
Section titled “Customising a built-in template”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.
Not what you need?
Section titled “Not what you need?”- 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).