ssulbox/backend/.env.example
jwkim 39483e2bfb feat: 완성 mp4 Azure Blob 저장(ADO2 계정 재사용) + 로컬 자동정리
- blob_client: SDK 없이 aiohttp+SAS로 PUT 업로드, 공개 URL 반환(실패 시 None)
- content_sync: 새 영상 발견 시 블롭 업로드 → Content.video에 공개 URL,
  DB 커밋 성공 후 로컬 output job 폴더 삭제(OUTPUT_DIR 하위 안전장치)
- SAS 미설정 시 기존 로컬 /videos fallback 유지
- 경로 ssulbox/ 프리픽스로 ADO2 콘텐츠와 격리
- config/.env.example: AZURE_BLOB_BASE_URL/SAS_TOKEN/PREFIX 추가(실 SAS는 .env, 미커밋)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-08 15:26:43 +09:00

44 lines
1.9 KiB
Plaintext

# ===== o2o-ssulbox 백엔드 환경변수 =====
# 실제 값은 .env 에 넣고 커밋하지 않습니다 (.env 는 .gitignore).
# 아래 키들은 전부 "선택" — 넣으면 해당 기능이 자동으로 켜집니다.
# ---- 생성 (필수) ----
# Gemini API 키 — 썰박스 생성(대본/이미지/음성)에 필요.
GEMINI_API_KEY=
# 동시에 돌릴 최대 생성 잡 수 (1 권장 — 편당 시간/과금 큼).
MAX_CONCURRENT_JOBS=1
# 생성 엔진은 저장소 내장(backend/generator/)이라 외부 경로 설정이 필요 없습니다.
# ---- 인증 ----
# 운영에선 반드시 교체. 개발은 기본값으로 동작.
JWT_SECRET=dev-secret-change-me
# 카카오 로그인 (미설정 시 개발용 dev-login 사용). developers.kakao.com
KAKAO_CLIENT_ID=
KAKAO_CLIENT_SECRET=
KAKAO_REDIRECT_URI=http://localhost:8000/user/auth/kakao/callback
# ---- 네이버 업장명 자동완성 ----
# developers.naver.com → 검색 API(지역). 미설정 시 만들기 폼 자동완성 비활성.
NAVER_CLIENT_ID=
NAVER_CLIENT_SECRET=
# ---- SNS 연동/업로드 ----
# 유튜브: Google Cloud Console → OAuth + YouTube Data API v3
YOUTUBE_CLIENT_ID=
YOUTUBE_CLIENT_SECRET=
# OAuth 콜백 베이스 (예: https://ssulbox.example.com)
SNS_REDIRECT_BASE=http://localhost:8000
# ---- 미디어 저장소 (Azure Blob — 선택) ----
# 설정 시 완성 mp4를 블롭에 업로드하고 DB엔 공개 URL 저장(로컬 디스크 미사용).
# 미설정 시 로컬 backend/generator/output 을 /videos 로 서빙(개발 fallback).
# BASE_URL 은 ADO2와 동일 계정 재사용(공개 읽기 컨테이너). SAS는 write 권한 필요.
AZURE_BLOB_BASE_URL=https://ado2mediastoragepublic.blob.core.windows.net/ado2-media-public-access/ado2-media-original
AZURE_BLOB_SAS_TOKEN=
AZURE_BLOB_PREFIX=ssulbox
# ---- 운영 DB (선택) ----
# 미설정 시 개발용 SQLite(backend/ssulbox.db). 운영은 MySQL 권장.
# DATABASE_URL=mysql+aiomysql://user:pass@host:3306/ssulbox