How to create a global template
Global templates are visible to every user. Only the root admin can create, edit, enable, disable, import, export, or delete them.
Built-in template README previews support Markdown tables and fenced code blocks. Use fenced code for commands so operators can read and copy multi-line instructions without the preview merging them into one paragraph.
Create a template from an existing image
Section titled “Create a template from an existing image”
- Open
/admin/templates. - Click New template.
- Enter Name and Image. Use a fully qualified image reference with an explicit registry
host, such as
docker.io/library/python:3.11,ghcr.io/org/image:tag, ornvcr.io/.... LabPod rejects unqualified names such aspython:3.11. - Set Type, Default CPU, Default memory, and GPU defaults.
- Add ports or launcher definitions.
- Prefer Import launcher for common apps.
- Use a manual port only for one-off apps.
- Keep Disabled checked until the image exists in the shared image store.
- Save the template.
- Open
/admin/images, pull the image into the shared store, then return to the template. - Uncheck Disabled and save.
Enabled global templates appear in every user’s create-workspace screen.
Import a template bundle
Section titled “Import a template bundle”Use import when another LabPod server or user exported a .tar bundle.
- Open
/admin/templates. - Click Import.
- Upload the
.tarbundle, or paste a bundle URL if the bundle is hosted somewhere the LabPod server can fetch. - Review the preview: image, ports, README, Dockerfile, and context files.
- Commit the import.
- If the bundle contains a Dockerfile, build it before enabling the template.
- If the template or registry requires terms acceptance, open
/admin/complianceand accept the pending item.
Imported Dockerfile contexts are preserved by LabPod so the bundle can be rebuilt and re-exported later.
For automation or offline handoff, a root admin can import a host-local bundle with the CLI:
sudo labpod admin template import ./template.tar --globalsudo labpod admin template import ./template.tar --owner alice# Run these as rootlabpod admin template import ./template.tar --globallabpod admin template import ./template.tar --owner aliceCLI imports are created disabled so an admin can review them before users create workspaces. Use the web UI for Dockerfile-backed bundles; the CLI intentionally does not orchestrate image builds.
Build a Dockerfile-backed template
Section titled “Build a Dockerfile-backed template”Templates created from bundles or built-in managed templates can carry a Dockerfile. The build is template-keyed: LabPod resolves the build context and output tag from the template row.
Every external image used by FROM, Dockerfile # syntax=..., COPY --from=..., or
RUN --mount=from=... must include an explicit registry host and pass the registry allowlist.
Bare localhost/... references are treated as local rootless-store images; localhost:<port>/...
is a registry and must be allowed like any other host.
- Open
/admin/templates. - Select the template.
- Click Build.
- Watch the build on
/admin/images. - After it succeeds, verify the image is available in the shared store.
- Enable the template and save.
Do not run ad-hoc host builds unless you intentionally want to bypass LabPod’s build history and bundle round-trip metadata.
Add or edit launchers
Section titled “Add or edit launchers”Launchers make apps appear in the workspace Apps section.

- Open
/admin/launchersto create reusable launcher definitions. - Open
/admin/templates. - Select a template and click Import launcher in the ports section.
- Pick the catalog launcher and save.
Catalog imports are snapshots. Editing /admin/launchers later does not update existing
templates; re-import or edit the template port when you need a template to change.
Enable gated templates
Section titled “Enable gated templates”Some templates or registries require EULA or terms acceptance.
- Open
/admin/compliance. - Review pending template EULAs and registry terms.
- Accept only after your organization is allowed to use that software or registry.
- Return to
/admin/templatesand enable the template if needed.
Accepting a template EULA from the compliance page also enables that template.
Disable instead of delete
Section titled “Disable instead of delete”Disable a template when you want to stop new workspaces from using it while preserving existing workspace records. Delete only when no workspaces depend on it.