174 lines
6.4 KiB
Plaintext
174 lines
6.4 KiB
Plaintext
# ============================================
|
|
# CaStAD v3.2.0 프로덕션 환경 설정 파일
|
|
# ============================================
|
|
# 도메인: castad1.ktenterprise.net
|
|
# 서버 배포 시 이 파일을 .env로 복사하여 사용
|
|
# cp .env.production.example .env
|
|
# ============================================
|
|
|
|
# ============================================
|
|
# 🔧 기본 설정 (Basic Configuration)
|
|
# ============================================
|
|
|
|
# Node 환경 - 반드시 production으로 설정
|
|
NODE_ENV=production
|
|
|
|
# 백엔드 서버 포트
|
|
# - nginx가 이 포트로 프록시합니다
|
|
PORT=3001
|
|
|
|
# JWT 인증 시크릿 키
|
|
# - ⚠️ 반드시 복잡한 랜덤 문자열로 변경하세요!
|
|
# - 생성 명령: openssl rand -base64 32
|
|
JWT_SECRET=your-super-secret-jwt-key-change-this-in-production
|
|
|
|
# URL 설정 (프로덕션)
|
|
# - 실제 도메인으로 설정
|
|
# - HTTPS 필수
|
|
ALLOWED_ORIGINS=https://castad1.ktenterprise.net
|
|
FRONTEND_URL=https://castad1.ktenterprise.net
|
|
BACKEND_URL=https://castad1.ktenterprise.net
|
|
|
|
# ============================================
|
|
# 🔑 필수 API 키 (Required APIs)
|
|
# ============================================
|
|
# ⚠️ 이 키들이 없으면 핵심 기능이 작동하지 않습니다
|
|
|
|
# Google Gemini AI API
|
|
# - 용도: AI 텍스트 생성, 마케팅 문구 작성, AI 매직 라이트
|
|
# - 발급: https://ai.google.dev/ (Google AI Studio)
|
|
# - 무료 할당량: 분당 60회 요청, 일 1,500회
|
|
# - 유료 전환 시 사용량 기반 과금
|
|
VITE_GEMINI_API_KEY=your-gemini-api-key
|
|
|
|
# Suno AI API
|
|
# - 용도: AI 음악 생성 (배경음악, 광고 음악)
|
|
# - 발급: Suno API 프록시 서비스 사용
|
|
# - 참고: https://github.com/gcui-art/suno-api
|
|
SUNO_API_KEY=your-suno-api-key
|
|
|
|
# ============================================
|
|
# 🎪 축제 연동 API (Festival Integration)
|
|
# ============================================
|
|
|
|
# 한국관광공사 Tour API
|
|
# - 용도: 전국 축제/행사 정보 조회, 지역별 축제 연동
|
|
# - 발급: https://api.visitkorea.or.kr/ (회원가입 후 키 발급)
|
|
# - 무료 할당량: 일 1,000회
|
|
# - 서비스: KorService2 사용
|
|
TOURAPI_KEY=your-tour-api-key
|
|
TOURAPI_ENDPOINT=https://apis.data.go.kr/B551011/KorService2
|
|
|
|
# ============================================
|
|
# 📍 지오코딩 API (Geocoding)
|
|
# ============================================
|
|
|
|
# Kakao REST API
|
|
# - 용도: 주소 → 좌표 변환, 펜션 위치 기반 근처 축제 검색
|
|
# - 발급: https://developers.kakao.com/
|
|
# - 무료 할당량: 일 30,000회
|
|
KAKAO_REST_KEY=your-kakao-rest-api-key
|
|
|
|
# ============================================
|
|
# 📺 YouTube 업로드 (YouTube Upload)
|
|
# ============================================
|
|
# OAuth 2.0 방식 - 사용자별 개인 채널 연동
|
|
|
|
# YouTube OAuth 설정
|
|
# - 설정 파일: server/client_secret.json (별도 생성 필요)
|
|
# - 설정 방법:
|
|
# 1. Google Cloud Console → 사용자 인증 정보
|
|
# 2. OAuth 2.0 클라이언트 ID 생성 (웹 애플리케이션)
|
|
# 3. 승인된 리디렉션 URI 추가:
|
|
# https://castad1.ktenterprise.net/api/youtube/oauth/callback
|
|
# 4. JSON 다운로드 → server/client_secret.json으로 저장
|
|
# - 앱 게시: 테스트 사용자 100명 이상이면 앱 검증 필요
|
|
|
|
# ============================================
|
|
# 📊 Google Cloud Billing (선택)
|
|
# ============================================
|
|
# BigQuery를 통한 API 비용 분석 - 관리자 대시보드 기능
|
|
|
|
# Google Cloud Billing 설정
|
|
# - 용도: Gemini/Suno 등 API 사용 비용 추적
|
|
# - 설정 파일: server/google-billing-key.json (서비스 계정 키)
|
|
# - 설정 방법:
|
|
# 1. Google Cloud Console → 결제 → 결제 내보내기 → BigQuery
|
|
# 2. IAM → 서비스 계정 생성 (BigQuery 데이터 뷰어 역할)
|
|
# 3. 키 생성 → JSON 다운로드 → server/google-billing-key.json
|
|
GOOGLE_BILLING_KEY_PATH=./server/google-billing-key.json
|
|
GOOGLE_CLOUD_PROJECT_ID=your-project-id
|
|
GOOGLE_BILLING_DATASET_ID=billing_export
|
|
|
|
# ============================================
|
|
# 📧 이메일 서비스 (선택)
|
|
# ============================================
|
|
|
|
# Resend 이메일 API
|
|
# - 용도: 비밀번호 재설정, 알림 이메일
|
|
# - 발급: https://resend.com/
|
|
# - 설정 안 하면 이메일 기능 비활성화 (앱은 정상 작동)
|
|
# - 프로덕션: 도메인 인증 필요
|
|
RESEND_API_KEY=your-resend-api-key
|
|
RESEND_FROM_EMAIL=CastAD <noreply@castad1.ktenterprise.net>
|
|
|
|
# ============================================
|
|
# 🔐 소셜 로그인 (선택)
|
|
# ============================================
|
|
|
|
# Google OAuth 로그인
|
|
# - 리디렉션 URI: https://castad1.ktenterprise.net/auth/google/callback
|
|
GOOGLE_CLIENT_ID=your-google-client-id
|
|
GOOGLE_CLIENT_SECRET=your-google-client-secret
|
|
|
|
# Naver OAuth 로그인
|
|
# - 리디렉션 URI: https://castad1.ktenterprise.net/auth/naver/callback
|
|
NAVER_CLIENT_ID=your-naver-client-id
|
|
NAVER_CLIENT_SECRET=your-naver-client-secret
|
|
|
|
# ============================================
|
|
# 📱 SNS 연동 (선택)
|
|
# ============================================
|
|
|
|
# Instagram 서비스 (Python 마이크로서비스)
|
|
# - 별도 설치 필요: server/instagram-service/
|
|
# - PM2로 별도 프로세스로 실행
|
|
INSTAGRAM_SERVICE_URL=http://localhost:5001
|
|
INSTAGRAM_SERVICE_PORT=5001
|
|
INSTAGRAM_ENCRYPTION_KEY=your-fernet-encryption-key
|
|
|
|
# TikTok API
|
|
# - 리디렉션 URI: https://castad1.ktenterprise.net/api/tiktok/oauth/callback
|
|
TIKTOK_CLIENT_KEY=your-tiktok-client-key
|
|
TIKTOK_CLIENT_SECRET=your-tiktok-client-secret
|
|
|
|
# ============================================
|
|
# 📋 프로덕션 배포 체크리스트
|
|
# ============================================
|
|
#
|
|
# 🔴 필수 (앱 실행에 반드시 필요):
|
|
# ✅ NODE_ENV=production
|
|
# ✅ JWT_SECRET (랜덤 문자열로 변경)
|
|
# ✅ VITE_GEMINI_API_KEY
|
|
# ✅ SUNO_API_KEY
|
|
# ✅ FRONTEND_URL, BACKEND_URL (실제 도메인)
|
|
#
|
|
# 🟡 권장 (주요 기능):
|
|
# ⬜ TOURAPI_KEY (축제 연동)
|
|
# ⬜ KAKAO_REST_KEY (위치 기반 축제 검색)
|
|
# ⬜ server/client_secret.json (YouTube 업로드)
|
|
#
|
|
# 🟢 선택 (부가 기능):
|
|
# ⬜ RESEND_API_KEY (이메일)
|
|
# ⬜ GOOGLE_CLIENT_ID/SECRET (Google 로그인)
|
|
# ⬜ NAVER_CLIENT_ID/SECRET (네이버 로그인)
|
|
# ⬜ TIKTOK_CLIENT_KEY/SECRET (TikTok)
|
|
# ⬜ INSTAGRAM_* (Instagram)
|
|
# ⬜ GOOGLE_BILLING_* (비용 분석)
|
|
#
|
|
# 🔒 보안 파일 (git에 포함하지 않음):
|
|
# ⬜ .env (이 파일)
|
|
# ⬜ server/client_secret.json (YouTube OAuth)
|
|
# ⬜ server/google-billing-key.json (BigQuery)
|
|
# ⬜ server/youtube-tokens.json (사용자 토큰, 자동생성)
|