콘텐츠로 이동

추가 앱 & 포트

워크스페이스 상세 페이지의 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가 프록시를 재연결합니다.

  1. 워크스페이스 상세 페이지에서 Manage workspace → Extra apps를 열고 Add app을 클릭합니다.
  2. 프리셋 (TensorBoard, Gradio, Streamlit, FastAPI)을 선택하거나 사용자 지정 이름을 입력합니다.
    • 이름은 소문자, 숫자, 대시만 사용할 수 있습니다 (예: gradio, my-app).
  3. Add를 클릭합니다.

LabPod가 즉시 다음 링크를 표시합니다: http://<host>:<port>/ws/<workspace-id>/_user/<name>/

워크스페이스 내부에서 앱 시작하기

섹션 제목: “워크스페이스 내부에서 앱 시작하기”

LabPod 터미널을 열고 LabPod가 할당한 포트에 바인딩해 앱을 시작합니다. 포트 번호는 워크스페이스 상세 페이지에서 확인하거나, 앱 추가 대화 상자의 고급 섹션에 나오는 슬롯 인덱스를 이용해 환경 변수 $LABPOD_USER_PORT_<n>에서 읽으면 됩니다.

예를 들어 Gradio 앱을 할당된 포트에서 실행하려면:

Terminal window
python app.py --server-port $LABPOD_USER_PORT_1

Streamlit의 경우:

Terminal window
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를 클릭합니다. 포트는 풀로 돌아갑니다. 워크스페이스 안의 앱 프로세스는 직접 중지할 때까지 계속 실행됩니다.