콘텐츠로 이동

환경 변수

이 페이지는 운영자가 프로덕션에서 변경할 수 있는 /etc/labpod/labpod.env 설정을 다룹니다. 공유 이미지 저장소 모드처럼 같은 파일에 있는 일부 설치 및 사전 점검 값은 설치 스크립트나 admin doctor가 읽습니다. CLI 플래그(--port, --db, --dev)를 설정하면 해당 서버 변수보다 우선 적용됩니다.

Boolean 변수는 true / 1 (활성) 또는 false / 0 (비활성)만 허용합니다. 그 외의 값을 넣으면 시작 시 오류가 발생합니다.

기간을 나타내는 변수(LABPOD_API_TIMEOUT, LABPOD_SESSION_TTL, LABPOD_WORKSPACE_START_TIMEOUT, LABPOD_LAUNCHER_READINESS_TIMEOUT)는 Go의 time.ParseDuration 형식을 사용합니다. 숫자 뒤에 ns, us/µs, ms, s, m, h 단위를 붙이고 여러 단위를 조합할 수도 있습니다(예: 24h30m). d(일) 단위는 없고 단위 없는 숫자는 거부되므로, 7일을 설정하려면 168h로 써야 합니다. 값이 잘못되었거나 0 이하이면 오류가 기록되고 기본값으로 동작합니다.

여기서는 지원하는 운영자 설정만 다룹니다. 거의 바꾸지 않는 고급 기본값은 호스트에 설치된 /etc/labpod/labpod.env 주석에서 확인하세요.

변수기본값설명
LABPOD_PORT24680플랫폼 HTTP/HTTPS 포트. 워크스페이스 게이트웨이는 다음 포트(기본 24681)를 사용하므로 두 포트가 워크스페이스 포트 범위 밖에 있어야 합니다
LABPOD_DBlabpod.dbSQLite 데이터베이스 경로. 상대 경로는 서비스 작업 디렉터리를 기준으로 해석합니다
LABPOD_JWT_SECRET(필수)세션 서명 시크릿; 32바이트 이상. 프로덕션 환경에서 이 값이 없으면 서버가 시작을 거부합니다
LABPOD_LICENSE_PATH/var/lib/labpod/license.lic설치된 서명 라이선스 경로. 없으면 LabPod는 내장 90일 trial 권한으로 동작합니다
LABPOD_API_TIMEOUT15m요청별 핸들러 타임아웃 (예: 15m, 30m)
LABPOD_SESSION_TTL168hJWT, 브라우저 쿠키, CLI 세션의 로그인 유지 시간입니다. 로그아웃, 비밀번호 변경, 계정 비활성화 시에는 이 시간과 관계없이 세션이 즉시 폐기됩니다
LABPOD_WORKSPACE_START_TIMEOUT15mpodman run -d 워크스페이스 시작 호출의 데드라인
변수기본값설명
LABPOD_TLS_SELF_SIGNEDfalse자체 서명 인증서를 자동 생성하고 캐시합니다
LABPOD_TLS_CERT(미설정)운영자가 제공하는 TLS 인증서 경로
LABPOD_TLS_KEY(미설정)운영자가 제공하는 TLS 개인 키 경로
LABPOD_TLS_DIR/var/lib/labpod/tls자체 서명 인증서와 키의 캐시 디렉터리
LABPOD_TLS_HOSTS(미설정)자체 서명 인증서에 추가할 SAN 목록 (쉼표로 구분, 예: 192.168.1.10,labpod.lan)
변수기본값설명
LABPOD_GPU_SHARING_LIB_PATH(미설정)소프트웨어 GPU 공유 런타임 라이브러리의 호스트 경로. 설정하면 분할 GPU 모드가 활성화됩니다. 파일이 없으면 서버가 시작되지 않습니다
LABPOD_GPU_INVENTORYnvidia-smiGPU 열거 소스. CPU 전용 호스트에서는 none으로 설정합니다
LABPOD_MIG_INVENTORYnvidia-smiMIG 슬라이스 열거. MIG를 사용하지 않는 호스트에서는 none으로 설정합니다
LABPOD_GPU_PROCESS_INSPECTORnvidia-smi미추적 GPU 사용 지표의 소스: nvidia-smi 또는 none
변수기본값설명
LABPOD_SHARED_MOUNT_ROOTS(미설정)관리자가 정의한 공유 마운트에 허용되는 루트 경로 목록 (쉼표로 구분). 비어 있으면 차단되지 않은 모든 경로 허용
LABPOD_SHARED_IMAGE_STORE_MODEauto공유 이미지 저장소 설정 모드: auto, imagestore, root
LABPOD_SHARED_IMAGE_STORE(미설정)설정하면 admin shared pull에 사용하는 root 관리 공유 이미지 저장소 경로
LABPOD_DISK_ROOT(계정 홈 파일시스템)호스트 디스크 용량에 표시할 파일시스템을 고르는 절대 경로입니다. 설정하지 않으면 LABPOD_FILEOP_HOME_BASE가 있는 파일시스템을 측정합니다
LABPOD_FILEOP_HOME_BASE/home생성한 계정 홈, 워크스페이스 전용 홈, 보관본, 파일 루트, 디렉터리 선택기, 사용자별 디스크 스캔의 기준 경로입니다. 기존 데이터는 자동으로 옮기지 않습니다
LABPOD_WORK_BASELABPOD_FILEOP_HOME_BASE와 동일각 사용자의 공유 /work 트리 기준 디렉터리입니다. 작업 데이터를 계정 홈 밖의 전용 데이터 볼륨에 둘 때 사용합니다. 이전하면 사용자별 디스크 합계에 포함됩니다
변수기본값설명
LABPOD_PORT_GUARDnone공유 호스트의 루프백 보안을 강화합니다. none 또는 nft를 사용하며 nft는 LabPod 서비스를 root로 실행해야 합니다
LABPOD_TRUST_PROXY_HEADERSfalseX-Forwarded-Host/Proto 헤더를 신뢰합니다. 신뢰할 수 있는 리버스 프록시 뒤에서만 활성화하세요
LABPOD_WS_ALLOWED_ORIGINS(미설정)터미널 엔드포인트에 허용할 추가 WebSocket Origin 값 목록 (쉼표로 구분)
LABPOD_NOTIFY_ALLOW_PRIVATEfalse크래시 알림 웹훅이 private/loopback/link-local 목적지로 접속하는 것을 허용합니다 (자체 호스팅 LAN 메신저 전용)
LABPOD_LAUNCHER_READINESS_TIMEOUT60s런처 시작 시 앱 포트 준비를 기다리는 시간

재시작 없이 변경할 수 있는 DB 기반 설정은 런타임 설정을 참고하세요.