de92fc01b4
VAPID 섹션만 설명 주석을 배너 박스 안에 넣거나(dev) 배너 자체가 없어(prod) 다른 섹션과 어긋나던 것을, 다른 섹션과 동일하게 '배너(제목만) → 아래 설명 주석' 구조로 맞춘다. 값 변화 없음. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
60 lines
2.8 KiB
Bash
60 lines
2.8 KiB
Bash
# ==========================================
|
|
# 백엔드 고유 설정 (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=
|