환경 설정
quant-ai의 모든 런타임 설정은 환경 변수로 주입됩니다. 이 카테고리는 어떤 변수가 어떤 동작을 바꾸는지를 정리하고, 자주 쓰는 시나리오(LLM 프록시, feature flag 토글)에 따른 권장 값을 제공합니다.
설정 출처 우선순위
1. 컨테이너 environment: 블록 (compose YAML)
2. .env 파일 (env_file: - .env)
3. 코드 기본값 (server/services/feature_flags.py 등)
같은 변수가 여러 출처에 정의되면 위 순서대로 가장 높은 우선순위가 이깁니다.
docker-compose.prod.yml의 ${VAR:?Set VAR} 구문은 빈 값을 거부하므로,
프로덕션에서 누락된 시크릿은 컨테이너가 부팅조차 되지 않습니다.
카테고리 맵
| 페이지 | 다루는 범위 |
|---|---|
| 환경변수 카탈로그 | .env.example의 모든 변수 — 그룹별 표 |
| 피처 플래그 | 6개 FEATURE_* 토글의 단일 출처 |
| LiteLLM 프록시 | OpenAI 호환 LLM 라우팅과 모델 셋업 |
변경 시 기본 절차
-
로컬
.env또는 VM~/quantai/.env수정. -
영향 받는 컨테이너만 재시작:
# 단일 서비스docker compose restart api# 워커도 같이docker compose restart api analysis-worker position-reconciler -
변경 사항이 시크릿이라면 시크릿 회전 에 정의된 영향 매트릭스를 따라 사용자 알림과 후속 검증을 수행.
-
변경 사항이 라이브 토글이라면 paper-to-live 체크리스트 통과를 확인.
보안 노트
시크릿은 .env 한 곳에만
.env는.gitignore에 등재되어 있습니다 — 절대 커밋 금지.- 프로덕션
.env는chmod 600으로 소유자만 읽도록. - 시크릿을 출력하는 디버그 로그(
echo $AUTH_SECRET_KEY,printenv | grep KEY) 는 사용 후 즉시 셸 히스토리에서 삭제. - 로테이션 영향은 시크릿 회전에서 단일 출처로 관리합니다.
관련 페이지
- Docker Compose 설치 —
.env첫 작성 - 시크릿 회전 — 회전 영향 매트릭스
- 페이퍼 → 라이브 —
FEATURE_EQUITY_LIVE+ALLOW_LIVE이중 잠금