설정이 .env(시크릿)+toml(설정)로 갈려 있던 것을 config.local.toml 하나로 통합. DB 비번이 이미 toml 에 있어 분리 기준이 임의적이었고, backend(하우스 패턴)도 toml 단일이라 일관성 확보. 환경별로 바뀌는 값(DB_HOST 등)만 env override 유지. - config_models: NaverConfig(keys 로테이션)·OpenAIConfig·DecodoConfig 추가 - server_configs: 3개 로드, load_dotenv 제거(python-dotenv 의존성도 제거) - proxy/naver/similarity/keyword/worker_main: os.environ → config 객체 참조 - config.local.toml.example: [NaverConfig]/[OpenAIConfig]/[DecodoConfig] 섹션 - .env/.env.example 삭제, README/주석 갱신 (배포는 toml 마운트 or env override) - tests: DecodoConfig 기반으로 갱신 → 전체 44/44 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
61 lines
2.2 KiB
Plaintext
61 lines
2.2 KiB
Plaintext
# 복사해서 사용: cp config.local.toml.example config.local.toml
|
|
# 실제 config.local.toml 은 시크릿 포함이라 커밋하지 않는다(.gitignore: *.toml).
|
|
# 모든 서버는 APP_ENV=local 로 띄우며 이 파일을 읽는다.
|
|
[WebServerConfig]
|
|
server_name = "LpsServer"
|
|
port = 9600
|
|
process_count = 1
|
|
is_ssl = false
|
|
is_test = true
|
|
# CORS 허용 오리진(프론트). 비우면 [] (CORS 미적용). 5173=vite dev.
|
|
cors_origins = ["http://localhost:5173", "http://127.0.0.1:5173"]
|
|
|
|
[LogConfig]
|
|
print_console = true
|
|
log_level = "debug"
|
|
|
|
# DB Read/Write 분리. 도커 실행 시 host 는 docker-compose 의 DB_HOST 로 override.
|
|
# 관리형 DB(RDS/Aurora/Azure)는 host 에 엔드포인트, sslmode="require".
|
|
# LPS 도메인 로직/테이블이 생기기 전까지는 접속하지 않으므로(엔진 lazy) placeholder 여도 부팅된다.
|
|
[MainDBConfig]
|
|
db_type = "postgresql"
|
|
name = "lps_db"
|
|
write_host = "127.0.0.1"
|
|
write_port = 5432
|
|
write_id = "<DB_USER>"
|
|
write_pw = "<DB_PASSWORD>"
|
|
read_host = "127.0.0.1"
|
|
read_port = 5432
|
|
read_id = "<DB_USER>"
|
|
read_pw = "<DB_PASSWORD>"
|
|
show_log = false
|
|
pool_size = 10
|
|
max_overflow = 20
|
|
sslmode = "" # 로컬: "" / 관리형 DB: "require"|"verify-ca"|"verify-full"
|
|
|
|
# ── 시크릿(API 키 등)도 이 파일에서 통합 관리 (미커밋). 배포는 이 파일 마운트 권장. ──
|
|
|
|
# 네이버 쇼핑 오픈API (https://developers.naver.com/apps). 여러 개면 429/403 로테이션 자동 포함.
|
|
[NaverConfig]
|
|
[[NaverConfig.keys]]
|
|
id = "<NAVER_CLIENT_ID>"
|
|
secret = "<NAVER_CLIENT_SECRET>"
|
|
# 추가 키는 아래처럼 블록을 더 넣으면 됨:
|
|
# [[NaverConfig.keys]]
|
|
# id = "..."
|
|
# secret = "..."
|
|
|
|
# AI 유사도 판정/검색어 생성 (OpenAI)
|
|
[OpenAIConfig]
|
|
api_key = "<OPENAI_API_KEY>"
|
|
model = "gpt-4o-mini"
|
|
|
|
# DECODO residential 프록시 (쿠팡 전용, 포트기반 sticky). 값 다 채우면 활성(비면 프록시 미사용).
|
|
[DecodoConfig]
|
|
host = "" # 예: gate.decodo.com
|
|
username = "" # 대시보드 USERNAME (예: sppd6a3ze3)
|
|
password = "" # 대시보드 PASSWORD
|
|
port_start = 0 # 예: 10001
|
|
port_end = 0 # 예: 10010
|
|
session_minutes = 10 # 대시보드 Sticky 지속시간(분)과 일치
|