# Vignette infra env (예시). cp .env.example .env 후 값 채우기 POSTGRES_USER=vignette_owner ENVIRONMENT=prod POSTGRES_PASSWORD=change-me POSTGRES_DB=vignette APP_DB_USER=vignette_app APP_DB_PASSWORD=change-me-app INSTALL_RAG=false USER_UPLOAD_DIR=/app/uploads SESSION_SECRET=change-me-random AUTH_ALLOWED_EMAIL_DOMAINS=["hs.ac.kr","twentyoz.kr"] AUTH_TEACHER_EMAILS=[] AUTH_ADMIN_EMAILS=[] AUTH_SUPER_ADMIN_EMAILS=["yunchan@twentyoz.kr","hoonjungkoo@hs.ac.kr"] AUTH_APPROVED_EMAILS=[] AUTH_NEW_USER_DEFAULT_STATUS=pending AUTH_DEV_LOGIN_ENABLED=false AUTH_DEV_LOGIN_EXTRA_ORIGINS=[] DEFAULT_AFFILIATION= AUTO_SEED_PERSONAS=false ALLOW_SEED_PERSONA_FALLBACK=false EVALUATOR_GOLDEN_FEWSHOT_ENABLED=false OAUTH_GOOGLE_CLIENT_ID= OAUTH_GOOGLE_CLIENT_SECRET= OAUTH_REDIRECT_URI=https://api-vignette.chanpaca.net/auth/callback FRONTEND_BASE_URL=https://vignette.chanpaca.net FRONTEND_ORIGIN_MAP={"api-vignette.chanpaca.net":"https://vignette.chanpaca.net","api-vnet.18ka.net":"https://vnet.18ka.net"} CORS_ORIGINS=["https://vignette.chanpaca.net","https://vnet.18ka.net","https://vignette-b1q.pages.dev","http://localhost:5170","http://localhost:5171","http://localhost:5172","http://localhost:5173","http://localhost:5174","http://localhost:5175","http://localhost:5176","http://localhost:5177","http://localhost:5178","http://localhost:5179","http://localhost:5180","http://127.0.0.1:5170","http://127.0.0.1:5171","http://127.0.0.1:5172","http://127.0.0.1:5173","http://127.0.0.1:5174","http://127.0.0.1:5175","http://127.0.0.1:5176","http://127.0.0.1:5177","http://127.0.0.1:5178","http://127.0.0.1:5179","http://127.0.0.1:5180"] # For local-only compose development, set ENVIRONMENT=dev and add http://localhost:5173 to CORS_ORIGINS. NOTIFICATION_EMAIL_PROVIDER=disabled NOTIFICATION_EMAIL_MAX_ATTEMPTS=3 NOTIFICATION_EMAIL_RETRY_SECONDS=900 SMTP_HOST= SMTP_PORT=587 SMTP_USERNAME= SMTP_PASSWORD= SMTP_FROM_EMAIL= SMTP_FROM_NAME=Vignette SMTP_STARTTLS=true SMTP_SSL=false OPENAI_API_KEY= OPENAI_BASE_URL=https://api.openai.com/v1 VIGNETTE_VOICE_POC_SAMPLE_TTS=false VIGNETTE_VOICE_POC_SAMPLE_TTS_DIR= VIGNETTE_VOICE_TTS_PROVIDER=openai VIGNETTE_HIGGS_TTS_URL=http://host.docker.internal:9881 VIGNETTE_HIGGS_TTS_TIMEOUT_SECONDS=300 ANTHROPIC_API_KEY= # 엔진(이식성): 게이트웨이는 claude_cli/claude_api/codex_cli/agy_cli를 라우팅한다. ENGINE_MODE=claude_cli ENGINE_URL=http://host.docker.internal:9099 # 상담 왕복은 호스트의 privacy-safe 상주 Claude lane으로 분리한다. VIGNETTE_LIVE_CLIENT_PROVIDER=claude_cli # 아래 값은 컨테이너가 아니라 호스트의 engine_gateway 프로세스에 주입한다. CLAUDE_BIN=claude CODEX_BIN=codex AGY_BIN=agy ANTHROPIC_API_BASE=https://api.anthropic.com ENGINE_CLI_CWD= ENGINE_CAPABILITY_CACHE_TTL_SECONDS=60 ENGINE_CLI_TIMEOUT_SECONDS=300 # 외부노출(비우면 로컬 :80) SITE_ADDRESS=:80 ACME_EMAIL= HTTP_PORT=8080 HTTPS_PORT=8443