# ========================================== # 백엔드 고유 설정 (development) # 루트 .env 에서 주입하지 않는 값만 여기에 둔다. # DB/Redis/CORS/포트/AI_TIMEOUT_MS 는 docker-compose 가 루트 .env.development 에서 주입. # .example 을 복사해 만들고 실제 값으로 채운다. (커밋 금지) # ========================================== # ========================================== # JWT / 인증 토큰 # ========================================== # 시크릿은 강력한 랜덤 문자열로 교체: # node -e "console.log(require('crypto').randomBytes(48).toString('hex'))" JWT_ACCESS_SECRET=change-me-access-secret JWT_REFRESH_SECRET=change-me-refresh-secret JWT_ACCESS_TTL=15m JWT_REFRESH_TTL=14d # ========================================== # 앱 URL (리다이렉트) # ========================================== # APP_API_URL : 백엔드 공개 주소(/api 포함). 인증 메일 링크 생성용. 미설정 시 localhost:3100/api 폴백. # FRONTEND_URL: 프론트 공개 주소. 인증 완료·소셜 로그인 후 리다이렉트. 미설정 시 CORS_ORIGIN→localhost:5273 폴백. APP_API_URL=http://localhost:3100/api FRONTEND_URL=http://localhost:5273 # ========================================== # 소셜 로그인 (OAuth) # ========================================== # 각 제공자 콘솔 발급 키. CLIENT_ID 가 비면 해당 소셜 로그인 비활성. # CALLBACK_URL 은 콘솔 등록값과 정확히 일치해야 함(/api 포함). KAKAO_CLIENT_ID=change-me-kakao-rest-api-key KAKAO_CLIENT_SECRET=change-me-kakao-client-secret KAKAO_CALLBACK_URL=http://localhost:3100/api/auth/kakao/callback GOOGLE_CLIENT_ID=change-me-google-client-id GOOGLE_CLIENT_SECRET=change-me-google-client-secret GOOGLE_CALLBACK_URL=http://localhost:3100/api/auth/google/callback # ========================================== # AI 에이전트 (Claude) # ========================================== # CLAUDE_API_KEY: Anthropic API 키. 미설정 시 AI 기능 비활성. # CLAUDE_MODEL : 모델 ID. 미설정 시 claude-sonnet-4-6. CLAUDE_API_KEY=change-me-claude-api-key CLAUDE_MODEL=claude-sonnet-4-6 # ========================================== # 드라이브 (NCP Object Storage) — 시크릿 # ========================================== # NCP 콘솔 → 마이페이지 → 인증키 관리(또는 서브계정)에서 발급한 키. # endpoint/region/bucket 은 루트 .env 에서 docker-compose 가 주입한다. # 미설정 시 드라이브 기능만 비활성화되고 앱은 정상 부팅된다. OBJECT_STORAGE_ACCESS_KEY=change-me-ncp-access-key OBJECT_STORAGE_SECRET_KEY=change-me-ncp-secret-key # ========================================== # 웹 푸시 알림 (Web Push / VAPID) — 시크릿(개인키) # ========================================== # PUBLIC_KEY/SUBJECT 는 루트 .env 에서 주입. 미설정 시 푸시 발송만 비활성. VAPID_PRIVATE_KEY=