042d724b3a
기존: 백엔드 30초(하드코딩 const)·프론트 60초(하드코딩)로 불일치
변경: 루트 .env 의 AI_TIMEOUT_MS(기본 60000)를 단일 소스로
- 백엔드 ai.service: REQUEST_TIMEOUT_MS const → ConfigService(AI_TIMEOUT_MS) 주입, 기본 60s
- 프론트 useAi: import.meta.env.VITE_AI_TIMEOUT_MS 사용, 기본 60s
- docker-compose: 백엔드 environment 에 AI_TIMEOUT_MS, 프론트 build arg 에 VITE_AI_TIMEOUT_MS=${AI_TIMEOUT_MS}
- 프론트 Dockerfile ARG/ENV, env.d.ts 타입, 루트 .env.example 추가
미설정/비정상 값이면 양쪽 모두 기본 60초로 폴백.
검증: 백엔드 build/lint 0, 프론트 type-check/lint/build 0.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
47 lines
1.3 KiB
Bash
47 lines
1.3 KiB
Bash
# ==========================================
|
|
# 프로젝트 전역 설정
|
|
# ==========================================
|
|
PROJECT_NAME=comrelay
|
|
APP_ENV=development
|
|
BUILD_MODE=development
|
|
FRONTEND_DIR=frontend
|
|
BACKEND_DIR=backend
|
|
|
|
# ==========================================
|
|
# 포트 설정
|
|
# ==========================================
|
|
FRONTEND_PORT=5273
|
|
BACKEND_PORT=3100
|
|
WEBSOCKET_PORT=3101
|
|
DB_PORT=5532
|
|
REDIS_PORT=6479
|
|
|
|
# ==========================================
|
|
# Database 설정
|
|
# ==========================================
|
|
DB_IMAGE=postgres:15-alpine
|
|
DB_USER=dev_ttipo
|
|
DB_PASSWORD=change-me-db-password
|
|
DB_NAME=comrelay_db
|
|
DB_DATA_DIR=./data/postgres
|
|
|
|
# ==========================================
|
|
# Redis 설정
|
|
# ==========================================
|
|
REDIS_IMAGE=redis:7-alpine
|
|
REDIS_PASSWORD=change-me-redis-password
|
|
REDIS_DATA_DIR=./data/redis
|
|
|
|
# ==========================================
|
|
# API 경로 설정
|
|
# ==========================================
|
|
BACKEND_API_URL=http://localhost:3100/api
|
|
CORS_ORIGIN=http://localhost:5273
|
|
|
|
# ==========================================
|
|
# AI 설정 (백엔드·프론트 공통)
|
|
# ==========================================
|
|
# AI 요청 타임아웃(ms) — 백엔드 Claude 호출 abort + 프론트 axios 타임아웃에 동일 적용.
|
|
# (프론트는 build arg VITE_AI_TIMEOUT_MS 로 주입됨)
|
|
AI_TIMEOUT_MS=60000
|