전역 템플릿 생성 방법
전역 템플릿은 모든 사용자에게 보입니다. 전역 템플릿을 만들고 편집하고 enable/disable하거나 import/export/delete하는 작업은 모두 root 관리자만 할 수 있습니다.
기본 제공 템플릿의 README 미리보기는 Markdown 표와 fenced code block을 지원합니다. 여러 줄 명령은 fenced block에 넣어야 미리보기에서 한 문단으로 합쳐지지 않고 읽고 복사할 수 있습니다.
기존 이미지에서 템플릿 만들기
섹션 제목: “기존 이미지에서 템플릿 만들기”
/admin/templates를 엽니다.- New template을 클릭합니다.
- Name과 Image를 입력합니다.
docker.io/library/python:3.11,ghcr.io/org/image:tag,nvcr.io/...처럼 registry host가 들어간 전체 이미지 참조를 사용하세요. LabPod는python:3.11처럼 registry가 빠진 이름을 거부합니다. - Type, Default CPU, Default memory, GPU 기본값을 설정합니다.
- port 또는 launcher 정의를 추가합니다.
- 일반 앱은 Import launcher를 우선 사용합니다.
- 특정 템플릿에만 필요한 앱은 manual port를 사용합니다.
- 이미지가 shared image store에 생길 때까지 Disabled를 켜 둡니다.
- 템플릿을 저장합니다.
/admin/images에서 이미지를 shared store로 pull한 뒤 템플릿으로 돌아옵니다.- Disabled를 해제하고 저장합니다.
Enable된 전역 템플릿은 모든 사용자의 create-workspace 화면에 표시됩니다.
템플릿 번들 import
섹션 제목: “템플릿 번들 import”다른 LabPod 서버나 사용자가 export한 .tar 번들을 받을 때 import를 사용합니다.
/admin/templates를 엽니다.- Import를 클릭합니다.
.tar번들을 업로드합니다. LabPod 서버가 접근할 수 있는 위치에 번들이 있다면 번들 URL을 붙여 넣어도 됩니다.- image, ports, README, Dockerfile, context 파일 preview를 확인합니다.
- import를 commit합니다.
- 번들에 Dockerfile이 있으면 템플릿을 enable하기 전에 빌드합니다.
- 템플릿이나 registry에 약관 승인이 필요하면
/admin/compliance에서 pending 항목을 승인합니다.
Import한 Dockerfile context는 LabPod이 보존하므로 나중에 다시 빌드하고 re-export할 수 있습니다.
자동화나 오프라인 전달이 필요하면 root 관리자가 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로 가져온 템플릿은 관리자가 검토한 뒤 활성화할 수 있도록 비활성화 상태로 생성됩니다. Dockerfile 기반 번들은 이미지 빌드가 필요하므로 웹 UI에서 가져오세요.
Dockerfile 기반 템플릿 빌드
섹션 제목: “Dockerfile 기반 템플릿 빌드”번들에서 만든 템플릿이나 built-in managed 템플릿에는 Dockerfile이 있을 수 있습니다. 빌드는 template-keyed 방식입니다. LabPod이 템플릿 row에서 build context와 출력 tag를 결정합니다.
FROM, Dockerfile # syntax=..., COPY --from=..., RUN --mount=from=...에서 외부 이미지를 사용할 때는 모두 registry host를 명시해야 하며 registry allowlist를 통과해야 합니다. localhost/...는 로컬 rootless store 이미지로 취급하지만, localhost:<port>/...는 registry이므로 다른 host와 동일하게 허용 목록에 있어야 합니다.
/admin/templates를 엽니다.- 템플릿을 선택합니다.
- Build를 클릭합니다.
/admin/images에서 빌드를 확인합니다.- 성공하면 이미지가 shared store에 있는지 확인합니다.
- 템플릿을 enable하고 저장합니다.
LabPod의 build history와 bundle round-trip metadata를 의도적으로 우회하려는 경우가 아니라면 호스트에서 ad-hoc build를 직접 실행하지 마세요.
Launcher 추가 또는 편집
섹션 제목: “Launcher 추가 또는 편집”Launcher는 워크스페이스 Apps 섹션에 앱을 표시합니다.

/admin/launchers에서 재사용 가능한 launcher 정의를 만듭니다./admin/templates를 엽니다.- 템플릿을 선택하고 ports 섹션에서 Import launcher를 클릭합니다.
- catalog launcher를 고르고 저장합니다.
Catalog import는 snapshot입니다. 나중에 /admin/launchers를 수정해도 기존 템플릿은
바뀌지 않습니다. 템플릿을 바꾸려면 다시 import하거나 template port를 직접 편집하세요.
Gated template enable
섹션 제목: “Gated template enable”일부 템플릿이나 registry는 EULA 또는 약관 승인이 필요합니다.
/admin/compliance를 엽니다.- pending template EULA와 registry terms를 검토합니다.
- 조직에서 사용할 수 있는 항목만 승인합니다.
/admin/templates로 돌아가 필요하면 템플릿을 enable합니다.
Compliance 페이지에서 template EULA를 승인하면 해당 템플릿도 함께 enable됩니다.
삭제보다 disable
섹션 제목: “삭제보다 disable”새 워크스페이스에서 더 이상 쓰지 못하게 하되 기존 워크스페이스 기록은 보존하려면 템플릿을 disable하세요. Delete는 해당 템플릿에 의존하는 워크스페이스가 없을 때만 사용합니다.