추가 앱 & 포트
워크스페이스 상세 페이지의 Manage workspace 아래에 있는 Extra apps 섹션에서 내장 런처에 없는 서비스를 노출할 수 있습니다. 각 서비스에는 세션 쿠키로 보호되는 자체 링크가 붙습니다.
동작 방식
섹션 제목: “동작 방식”포트를 선언하면 LabPod가 풀에서 포트 번호를 예약하고 리버스 프록시로 매핑합니다.
그런 다음 워크스페이스 안에서 앱을 시작해 해당 포트에 바인딩합니다. LabPod는 이 앱을
/ws/<workspace-id>/_user/<name>/ 경로로 제공합니다.
사용자 선언 포트와 내장 런처는 서로 다른 URL 네임스페이스를 사용하므로, 사용자 앱과
런처의 이름이 같아도 충돌하지 않습니다. /ws/<workspace-id>/_user/jupyter/는 사용자 앱이고
/ws/<workspace-id>/jupyter/는 런처입니다. 형식이 지정되지 않은 기존 사용자 포트
북마크는 새 경로의 별칭으로 동작하지 않습니다. 워크스페이스 페이지에서 앱을 만들거나 열어
형식이 지정된 URL을 사용하십시오.
Add app을 클릭하면 링크가 즉시 활성화되고 워크스페이스를 재시작할 필요가 없습니다. 포트 선언은 중지/시작 후에도 유지되고 워크스페이스가 다시 시작될 때 LabPod가 프록시를 재연결합니다.
앱 추가하기
섹션 제목: “앱 추가하기”- 워크스페이스 상세 페이지에서 Manage workspace → Extra apps를 열고 Add app을 클릭합니다.
- 프리셋 (TensorBoard, Gradio, Streamlit, FastAPI)을 선택하거나 사용자 지정 이름을 입력합니다.
- 이름은 소문자, 숫자, 대시만 사용할 수 있습니다 (예:
gradio,my-app).
- 이름은 소문자, 숫자, 대시만 사용할 수 있습니다 (예:
- Add를 클릭합니다.
LabPod가 즉시 다음 링크를 표시합니다:
http://<host>:<port>/ws/<workspace-id>/_user/<name>/
워크스페이스 내부에서 앱 시작하기
섹션 제목: “워크스페이스 내부에서 앱 시작하기”LabPod 터미널을 열고 LabPod가 할당한 포트에 바인딩해 앱을 시작합니다. 포트 번호는 워크스페이스
상세 페이지에서 확인하거나, 앱 추가 대화 상자의 고급 섹션에 나오는 슬롯 인덱스를 이용해
환경 변수 $LABPOD_USER_PORT_<n>에서 읽으면 됩니다.
예를 들어 Gradio 앱을 할당된 포트에서 실행하려면:
python app.py --server-port $LABPOD_USER_PORT_1Streamlit의 경우:
streamlit run app.py --server.port $LABPOD_USER_PORT_1이제 추가 앱 카드의 Open을 클릭하면 새 브라우저 탭에서 열립니다.
자동 감지
섹션 제목: “자동 감지”포트를 먼저 선언하지 않고 워크스페이스 안에서 앱을 시작해도, LabPod가 해당 포트를 감지하면 Apps running in your workspace 목록에 포트 번호와 실행 명령이 함께 표시됩니다. 여기서 Open을 클릭하면 LabPod가 빈 풀 슬롯을 배정해 그 포트로 연결해 줍니다. Add app 대화 상자를 열거나 포트 번호를 직접 입력할 필요가 없습니다. 다만 이 방법은 앱이 이미 실행 중일 때만 동작하므로, 처음부터 LabPod가 배정한 포트에 바인딩하고 싶다면 포트를 직접 선언하세요.
제한 사항
섹션 제목: “제한 사항”- 워크스페이스당 최대 8개의 추가 앱을 사용할 수 있습니다 (풀 크기).
- 모든 슬롯이 차 있으면 하나를 삭제할 때까지 Add app 버튼이 비활성화됩니다.
- 포트 선언은 워크스페이스별입니다. 다른 워크스페이스에는 자체 풀이 있습니다.
앱 삭제하기
섹션 제목: “앱 삭제하기”앱 카드의 Delete를 클릭합니다. 포트는 풀로 돌아갑니다. 워크스페이스 안의 앱 프로세스는 직접 중지할 때까지 계속 실행됩니다.