> ## Documentation Index
> Fetch the complete documentation index at: https://docs.coreweave.com/llms.txt
> Use this file to discover all available pages before exploring further.

> 데이터베이스, 저장소, Redis, IAM 설정용 환경 변수를 사용하여 Self-Managed W&B Server 설치를 설정합니다.

# 환경 변수 설정

W\&B에서는 System Settings 관리자 UI에서 인스턴스 수준 설정을 지정할 수 있을 뿐 아니라, 환경 변수를 사용하여 코드로 이러한 값을 설정할 수도 있습니다. 이 페이지에서는 Self-Managed W\&B Server 배포의 데이터베이스, 저장소, Redis, ID 공급자 및 기타 인스턴스 수준 동작을 제어하는 데 사용할 수 있는 환경 변수를 소개합니다. 이러한 변수를 사용하면 관리자 UI 대신 코드로 설정을 관리할 수 있습니다. IAM 관련 변수는 [IAM 고급 설정](/ko/products/wandb/platform/hosting/iam/advanced_env_vars)을 참조하세요.

<h2 id="environment-variable-reference">
  환경 변수 레퍼런스
</h2>

다음 표는 각 환경 변수와 해당 변수가 제어하는 동작, 그리고 값에 적용되는 제약 조건을 설명합니다.

| 환경 변수 | 설명 |
| - | - |
| `LICENSE` | wandb/local 라이선스 |
| `MYSQL` | MySQL 연결 문자열 |
| `BUCKET` | 데이터 저장용 S3 / GCS 버킷 |
| `BUCKET_QUEUE` | 객체 생성 이벤트용 SQS / Google PubSub 큐 |
| `NOTIFICATIONS_QUEUE` | run 이벤트를 발행할 SQS 큐 |
| `AWS_REGION` | 버킷이 있는 AWS 리전 |
| `HOST` | 인스턴스의 FQD(예: `https://my.domain.net`) |
| `OIDC_ISSUER` | OpenID Connect ID 공급자의 URL입니다(예: `https://cognito-idp.us-east-1.amazonaws.com/us-east-1_uiIFNdacd`). |
| `OIDC_CLIENT_ID` | ID 공급자에 등록된 애플리케이션의 클라이언트 ID |
| `OIDC_AUTH_METHOD` | Implicit(기본값) 또는 pkce. 자세한 내용은 다음 섹션을 참조하세요. |
| `SLACK_CLIENT_ID` | 알림에 사용할 Slack 애플리케이션의 클라이언트 ID |
| `SLACK_SECRET` | 알림에 사용할 Slack 애플리케이션의 시크릿 |
| `LOCAL_RESTORE` | 인스턴스에 액세스할 수 없는 경우 이 값을 일시적으로 true로 설정할 수 있습니다. 컨테이너 로그에서 임시 인증 정보를 확인하세요. |
| `REDIS` | W\&B에서 사용할 외부 REDIS 인스턴스를 설정하는 데 사용할 수 있습니다. |
| `LOGGING_ENABLED` | true로 설정하면 액세스 로그가 stdout으로 스트리밍됩니다. 이 변수를 설정하지 않고 사이드카 컨테이너를 마운트하여 `/var/log/gorilla.log`를 tail하는 방법도 있습니다. |
| `GORILLA_ALLOW_USER_TEAM_CREATION` | true로 설정하면 관리자 권한이 없는 사용자가 새 팀을 만들 수 있습니다. 기본값은 false입니다. |
| `GORILLA_CUSTOMER_SECRET_STORE_SOURCE` | W\&B Weave에서 사용하는 팀 시크릿을 저장할 시크릿 관리자를 설정합니다. 지원되는 시크릿 관리자는 다음과 같습니다. <ul><li><b>내부 시크릿 관리자</b>(기본값): <code>k8s-secretmanager://wandb-secret</code></li><li><b>AWS Secret Manager</b>: <code>aws-secretmanager</code></li><li><b>Google Cloud Secret Manager</b>: <code>gcp-secretmanager</code></li><li><b>Azure</b>: <code>az-secretmanger</code></li></ul> |
| `GORILLA_DATA_RETENTION_PERIOD` | run에서 삭제된 데이터를 보관할 기간(시간 단위)입니다. 삭제된 run 데이터는 복구할 수 없습니다. 입력 값 끝에 `h`를 붙이세요. 예: `"24h"`. |
| `GORILLA_DISABLE_PERSONAL_ENTITY` | true로 설정하면 [개인 entity](/ko/support/models/articles/what-is-the-difference-between-team-and-)가 비활성화됩니다. 개인 entity에서 새 개인 프로젝트를 만들 수 없으며, 기존 개인 프로젝트에도 쓸 수 없습니다. |
| `GORILLA_GRAPHQL_DISABLE_INTROSPECTION` | true로 설정하면 GraphQL 인트로스펙션이 비활성화됩니다. 이 경우 `__type` 및 `__schema` 쿼리 요청은 성공하지만 스키마 데이터는 반환되지 않습니다. **Self-Managed**에서는 Gorilla 설정 필드 `graphql-disable-introspection`을 설정해도 같은 효과를 얻을 수 있습니다. 이 변수는 `WeightsAndBiases` 커스텀 리소스의 `spec.values.global.extraEnv` 아래에 설정하세요(Operator 가이드의 [`global.extraEnv` 예시](/ko/products/wandb/platform/hosting/self-managed/operator#ldap) 참조). 인트로스펙션이 이미 비활성화된 배포에 연결하려면 **클라이언트 애플리케이션에 [W\&B SDK v0.26.0](/ko/release-notes/sdk-releases#0-26-0) 이상이 필요합니다**. |
| `GRAPHQL_REJECT_UNAUTHED_REQUESTS` | **API** 서비스에서 `true`로 설정하면 인증된 사용자가 없는 GraphQL 요청을 거부합니다. 인증되지 않은 요청에는 HTTP 401이 반환됩니다. **Self-Managed** 및 **Dedicated Cloud** v0.80.0 이상에서만 지원되며, Multi-tenant Cloud에서는 사용할 수 없습니다. 이 기능은 옵트인 방식이므로 환경 변수가 설정되지 않았거나 값이 `true`가 아니면 기존 동작이 그대로 유지됩니다. API 컴포넌트에만 설정하세요(예: Helm values의 `api.env`). 활성화하기 전에 익명 GraphQL 액세스를 사용하는 워크플로(예: 로그인하지 않은 상태에서 공유 리포트 보기, 공개 프로젝트)에 문제가 없는지 확인하세요. **Self-Managed**에서는 Gorilla 설정 필드 `graphql-reject-unauthed-requests`를 `true`로 설정해도 같은 효과를 얻을 수 있습니다. |
| `GORILLA_ARTIFACT_GC_ENABLED` | true로 설정하면 삭제된 아티팩트의 가비지 컬렉션을 활성화합니다. Self-Managed 배포에서는 필수입니다. 자세한 내용은 [아티팩트 삭제](/ko/products/wandb/artifacts/delete-artifacts)를 참조하세요. |
| `WANDB_ARTIFACT_DIR` | 다운로드한 모든 아티팩트를 저장할 위치입니다. 설정하지 않으면 트레이닝 스크립트 기준 상대 경로인 `artifacts` 디렉터리가 기본값으로 사용됩니다. 이 디렉터리가 존재하는지, 그리고 실행 중인 사용자에게 이 디렉터리에 대한 쓰기 권한이 있는지 확인하세요. 이 변수는 생성되는 메타데이터 파일의 위치에는 영향을 주지 않으며, 메타데이터 파일의 위치는 `WANDB_DIR` 환경 변수로 설정할 수 있습니다. |
| `WANDB_DATA_DIR` | 스테이징 아티팩트를 업로드할 위치입니다. 기본 위치는 `platformdirs` Python 패키지의 `user_data_dir` 값을 사용하므로 플랫폼마다 다릅니다. 이 디렉터리가 존재하는지, 그리고 프로세스를 실행하는 사용자에게 이 디렉터리에 대한 쓰기 권한이 있는지 확인하세요. |
| `WANDB_DIR` | 생성된 모든 파일을 저장할 위치입니다. 설정하지 않으면 트레이닝 스크립트 위치를 기준으로 한 `wandb` 디렉터리가 기본값으로 사용됩니다. 이 디렉터리가 존재하는지, 그리고 실행 중인 사용자에게 이 디렉터리에 대한 쓰기 권한이 있는지 확인하세요. 이 변수는 다운로드한 아티팩트의 위치에는 영향을 주지 않으며, 해당 위치는 `WANDB_ARTIFACT_DIR` 환경 변수로 설정할 수 있습니다. |
| `WANDB_IDENTITY_TOKEN_FILE` | [ID 페더레이션](/ko/products/wandb/platform/hosting/iam/identity_federation)에 사용할 JWT(Java Web Token)가 저장된 로컬 디렉터리의 절대 경로입니다. |

<Note>
  * `GORILLA_DATA_RETENTION_PERIOD` 환경 변수는 신중하게 사용하세요. 이 변수는 **삭제된 run 데이터**(삭제 플로우 이후의 미디어 등 run 관련 파일 포함)에 적용됩니다. 아티팩트는 삭제하지 **않습니다**. 아티팩트를 삭제하려면 [아티팩트 삭제](/ko/products/wandb/artifacts/delete-artifacts)에 설명된 대로 아티팩트 삭제 기능과 `GORILLA_ARTIFACT_GC_ENABLED`를 사용하세요. run 및 파일 삭제가 저장소와 이 설정에 어떤 영향을 주는지는 **run 삭제**의 [삭제된 run 데이터가 저장소에서 제거되는 시점](/ko/products/wandb/runs/delete-runs#when-deleted-run-data-is-removed-from-storage)을 참조하세요. 변수를 설정하면 그때부터 보존 윈도우에 따라 데이터가 제거됩니다. 이 값을 활성화하거나 변경하기 전에 데이터베이스와 저장소 버킷을 모두 백업하세요.

    버킷의 객체를 제거하는 백그라운드 작업은 **대략적인** 일정으로 진행되며, 특정 시간 내에 완료된다는 보장은 없습니다. 예상 동작, 문제 해결 방법, 저장소 비용과의 관계는 [버킷 저장소 및 비용 관리](/ko/products/wandb/platform/hosting/managing-bucket-storage)를 참조하세요.
  * [Kubernetes Operator](/ko/products/wandb/platform/hosting/self-managed/operator)를 사용할 때 `GRAPHQL_REJECT_UNAUTHED_REQUESTS`를 활성화하려면 API 컴포넌트에만 설정하세요.

    ```yaml theme={"system"}
    api:
    env:
        GRAPHQL_REJECT_UNAUTHED_REQUESTS: "true"
    ```

    변경 사항을 적용하고 API 파드의 롤아웃이 완료될 때까지 기다린 다음 설정을 확인하세요. 이 동작을 비활성화하려면 변수를 제거하거나 다른 값으로 설정하세요.
</Note>

<h2 id="advanced-reliability-settings">
  고급 안정성 설정
</h2>

이 섹션에서는 W\&B Server 배포의 안정성과 성능을 높이기 위해 적용할 수 있는 선택적 설정을 설명합니다.

<h3 id="redis">
  Redis
</h3>

외부 Redis 서버는 선택 사항이지만 프로덕션 시스템에서는 사용을 권장합니다. Redis는 서비스의 안정성을 높이고, 캐싱을 통해 로드 시간을 단축합니다. 특히 대규모 프로젝트에서 효과가 큽니다. ElastiCache와 같이 고가용성(HA)을 지원하는 관리형 Redis 서비스를 사용하고, 다음 사양을 충족하도록 구성하세요.

* 메모리 최소 4GB, 권장 8GB
* Redis 버전 6.x
* 전송 중 암호화
* 인증 활성화

W\&B에서 Redis 인스턴스를 설정하려면 `http(s)://YOUR-W&B-SERVER-HOST/system-admin`의 W\&B 설정 페이지로 이동하세요. **Use an external Redis instance** 옵션을 활성화한 후 다음 형식으로 Redis 연결 문자열을 입력하세요.

<Frame>
  <img src="https://mintcdn.com/coreweave-dbfa0e8d/3Dv_sw2eg8feUJlx/products/wandb/platform/_media/configure_redis.png?fit=max&auto=format&n=3Dv_sw2eg8feUJlx&q=85&s=527a352ee1e0dab4ed8991aecc1b5eb6" alt="W&B에서 REDIS 설정" width="659" height="799" data-path="products/wandb/platform/_media/configure_redis.png" />
</Frame>

컨테이너나 Kubernetes 배포에서 `REDIS` 환경 변수를 사용하여 Redis를 설정할 수도 있습니다. 또는 `REDIS`를 Kubernetes 시크릿으로 설정할 수도 있습니다.

이 페이지에서는 Redis 인스턴스가 기본 포트인 `6379`에서 실행 중이라고 가정합니다. 다른 포트를 사용하거나, 인증을 설정하거나, `redis` 인스턴스에서 TLS를 활성화하려는 경우 다음 형식의 연결 문자열을 사용하세요. `redis://$USER:$PASSWORD@$HOST:$PORT?tls=true`
