Repository navigation
Expand file tree
/
Copy path.env.example
More file actions
53 lines (46 loc) · 2.54 KB
/
Copy path.env.example
File metadata and controls
53 lines (46 loc) · 2.54 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
### gateway:auth — JWT ###
# HS256 서명 키. 최소 256비트(32바이트) 이상이어야 한다
JWT_SECRET_KEY=replace-with-32-byte-or-longer-secret-key
JWT_ISSUER=stream-server
# Access Token 만료 시간 (ms)
JWT_ACCESS_TOKEN_EXPIRY=3600000
### infrastructure:db — MySQL ###
DB_URL=jdbc:mysql://localhost:3306/stream?serverTimezone=Asia/Seoul&characterEncoding=UTF-8
DB_USERNAME=stream
DB_PASSWORD=replace-with-db-password
### infrastructure:client — 파일 스토리지 (local | s3) ###
FILE_STORAGE_TYPE=local
# type=local일 때
LOCAL_STORAGE_BASE_PATH=./local-storage
LOCAL_STORAGE_BASE_URL=http://localhost:8080
LOCAL_STORAGE_UPLOAD_URL_EXPIRY_SECONDS=600
# type=s3일 때 (S3 호환 스토리지 = Cloudflare R2). R2는 IAM 역할이 없어 API 토큰 키를 직접 주입한다
R2_BUCKET=replace-with-bucket-name
R2_ENDPOINT=https://<account_id>.r2.cloudflarestorage.com
R2_ACCESS_KEY=replace-with-r2-access-key
R2_SECRET_KEY=replace-with-r2-secret-key
# R2는 region을 auto로 고정한다 (변경 불필요)
R2_REGION=auto
S3_UPLOAD_URL_EXPIRY_SECONDS=600
### infrastructure:client — KConnect OAuth ###
# KConnect 측 요청으로 API 명세(주소·경로·응답 필드)는 저장소에 남기지 않는다. 실제 값은 팀 내부 문서를 참고한다
KCONNECT_BASE_URL=replace-with-kconnect-base-url
KCONNECT_TOKEN_PATH=replace-with-token-path
# KConnect 관리자에게 받은 값. Client Secret은 코드·로그에 남기지 않는다
KCONNECT_CLIENT_ID=replace-with-kconnect-client-id
KCONNECT_CLIENT_SECRET=replace-with-kconnect-client-secret
# KConnect에 등록한 redirect URI (쉼표 구분). 운영 환경에는 localhost를 넣지 않는다
KCONNECT_ALLOWED_REDIRECT_URIS=kmustream://oauth/kconnect,http://localhost:5173/oauth/kconnect
# 사용자 정보 API 경로와 응답에서 읽을 필드 이름
KCONNECT_USER_INFO_PATH=replace-with-user-info-path
KCONNECT_USER_INFO_ID_FIELD=replace-with-field-name
KCONNECT_USER_INFO_STUDENT_ID_FIELD=replace-with-field-name
KCONNECT_USER_INFO_NAME_FIELD=replace-with-field-name
KCONNECT_USER_INFO_MAJOR_FIELD=replace-with-field-name
KCONNECT_USER_INFO_ACADEMIC_STATUS_FIELD=replace-with-field-name
### infrastructure:client — 푸시 알림 (log | fcm) ###
# log는 실제 발송 없이 로그만 남긴다 (로컬 기본값)
PUSH_TYPE=log
# type=fcm일 때. Firebase 콘솔 > 프로젝트 설정 > 서비스 계정에서 받은 비공개 키 JSON을 base64로 인코딩한 값
# 예: base64 < firebase-adminsdk.json | tr -d '\n'
FIREBASE_CREDENTIALS_BASE64=replace-with-base64-encoded-service-account-json