init
This commit is contained in:
70
.env
Normal file
70
.env
Normal file
@@ -0,0 +1,70 @@
|
|||||||
|
[환경]
|
||||||
|
OPS_STATE=PROD # DEV: 개발 | PROD: 운영(임직원 이메일 로그인) | SUPER: 데모·제한 완화 (REAL 은 PROD 와 동일)
|
||||||
|
|
||||||
|
PORT=8030
|
||||||
|
# HTTP 수신 주소 (기본 0.0.0.0 = 모든 인터페이스, 로컬만이면 127.0.0.1)
|
||||||
|
HOST=0.0.0.0
|
||||||
|
ADMIN_TOKEN=xavis-admin
|
||||||
|
PAGE_SIZE=9
|
||||||
|
# 1=PostgreSQL 단일 소스, 0=data/lectures.json 사용
|
||||||
|
ENABLE_POSTGRES=1
|
||||||
|
DB_HOST=localhost
|
||||||
|
DB_PORT=5432
|
||||||
|
DB_DATABASE=ai_web_platform
|
||||||
|
DB_USERNAME=xavis
|
||||||
|
DB_PASSWORD=wkqltm@@00492
|
||||||
|
|
||||||
|
# DB 연결이 없거나 실패하면 회의록 AI는 data/meeting-ai.json에 저장됩니다(로컬 개발에 유용).
|
||||||
|
# 회의 음성 업로드 최대 크기(MB, 기본 300). OpenAI 전사 API는 요청당 약 25MB이므로 초과분은 서버에서 ffmpeg로 분할 후 전사합니다.
|
||||||
|
MEETING_AUDIO_MAX_MB=300
|
||||||
|
|
||||||
|
ENABLE_PPT_THUMBNAIL=1
|
||||||
|
THUMBNAIL_WIDTH=1000
|
||||||
|
THUMBNAIL_MAX_RETRY=2
|
||||||
|
THUMBNAIL_RETRY_DELAY_MS=5000
|
||||||
|
THUMBNAIL_EVENT_KEEP=200
|
||||||
|
THUMBNAIL_EVENT_PAGE_SIZE=50
|
||||||
|
|
||||||
|
|
||||||
|
[인증 메일 정보]
|
||||||
|
BASE_URL=https://ai.xavis.co.kr # 메일 속 링크에 사용
|
||||||
|
AUTH_SECRET=xavis-admin # 세션 서명 (ADMIN_TOKEN 폴백 가능)
|
||||||
|
# 메일 발송 (선택, 없으면 콘솔에 링크만)
|
||||||
|
SMTP_HOST=gw.xavis.co.kr
|
||||||
|
SMTP_PORT=25
|
||||||
|
SMTP_SECURE=0
|
||||||
|
SMTP_USER=dsyoon
|
||||||
|
SMTP_PASS=!xavis5004
|
||||||
|
SMTP_FROM=dsyoon@xavis.co.kr
|
||||||
|
|
||||||
|
|
||||||
|
[채팅 기능 정보]
|
||||||
|
# 채팅 기능용 API 키
|
||||||
|
# OpenAI: https://platform.openai.com/api-keys
|
||||||
|
OPENAI_API_KEY=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
|
||||||
|
# 선택: UI의 gpt-5.4 / gpt-5-mini에 대응하는 실제 Chat Completions 모델 ID (미설정 시 gpt-4o / gpt-4o-mini)
|
||||||
|
OPENAI_MODEL_DEFAULT=gpt-5-mini
|
||||||
|
OPENAI_MODEL_MINI=gpt-5-mini
|
||||||
|
# OpenAI Responses API 내장 웹 검색(기본 on). 끄려면 아래 주석 해제 후 0
|
||||||
|
# OPENAI_WEB_SEARCH=0
|
||||||
|
# 웹 검색 위치 힌트(선택)
|
||||||
|
# OPENAI_WEB_SEARCH_COUNTRY=KR
|
||||||
|
# OPENAI_WEB_SEARCH_CITY=
|
||||||
|
# OPENAI_WEB_SEARCH_REGION=
|
||||||
|
# OPENAI_WEB_SEARCH_TIMEZONE=Asia/Seoul
|
||||||
|
# gpt-4o 전사 API: 요청당 오디오+토큰 한도 → ffmpeg 분할 길이(초). 짧을수록 안전(호출 수 증가)
|
||||||
|
OPENAI_TRANSCRIBE_SEGMENT_SEC=30
|
||||||
|
|
||||||
|
# Anthropic Claude (claude-*): https://console.anthropic.com/
|
||||||
|
CLAUDE_API_KEY=
|
||||||
|
# Google Gemini (gemini-*): https://aistudio.google.com/apikey
|
||||||
|
GENAI_API_KEY=
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[회의록 기능 정보]
|
||||||
|
# 관리자 토큰일 때 회의록 AI 등에 쓸 가상 사용자 이메일 (미설정 시 dev@xavis.co.kr)
|
||||||
|
EETING_DEV_EMAIL=dsyoon@xavis.co.kr
|
||||||
|
# 선택: Whisper 전사 모델 (기본 whisper-1)
|
||||||
|
OPENAI_WHISPER_MODEL=gpt-4o-mini-transcribe
|
||||||
|
MEETING_DEV_EMAIL=dsyoon@xavis.co.kr
|
||||||
70
.env.ncue
Normal file
70
.env.ncue
Normal file
@@ -0,0 +1,70 @@
|
|||||||
|
[환경]
|
||||||
|
OPS_STATE=DEV # DEV: 개발 | PROD: 운영(임직원 이메일 로그인) | SUPER: 데모·제한 완화 (REAL 은 PROD 와 동일)
|
||||||
|
|
||||||
|
PORT=8030
|
||||||
|
# HTTP 수신 주소 (기본 0.0.0.0 = 모든 인터페이스, 로컬만이면 127.0.0.1)
|
||||||
|
HOST=0.0.0.0
|
||||||
|
ADMIN_TOKEN=xavis-admin
|
||||||
|
PAGE_SIZE=9
|
||||||
|
# 1=PostgreSQL 단일 소스, 0=data/lectures.json 사용
|
||||||
|
ENABLE_POSTGRES=1
|
||||||
|
DB_HOST=ncue.net
|
||||||
|
DB_PORT=5432
|
||||||
|
DB_DATABASE=ai_web_platform
|
||||||
|
DB_USERNAME=ncue
|
||||||
|
DB_PASSWORD=ncue5004!
|
||||||
|
|
||||||
|
# DB 연결이 없거나 실패하면 회의록 AI는 data/meeting-ai.json에 저장됩니다(로컬 개발에 유용).
|
||||||
|
# 회의 음성 업로드 최대 크기(MB, 기본 300). OpenAI 전사 API는 요청당 약 25MB이므로 초과분은 서버에서 ffmpeg로 분할 후 전사합니다.
|
||||||
|
MEETING_AUDIO_MAX_MB=300
|
||||||
|
|
||||||
|
ENABLE_PPT_THUMBNAIL=1
|
||||||
|
THUMBNAIL_WIDTH=1000
|
||||||
|
THUMBNAIL_MAX_RETRY=2
|
||||||
|
THUMBNAIL_RETRY_DELAY_MS=5000
|
||||||
|
THUMBNAIL_EVENT_KEEP=200
|
||||||
|
THUMBNAIL_EVENT_PAGE_SIZE=50
|
||||||
|
|
||||||
|
|
||||||
|
[인증 메일 정보]
|
||||||
|
BASE_URL=https://실제-도메인 # 메일 속 링크에 사용
|
||||||
|
AUTH_SECRET=긴-무작위-문자열 # 세션 서명 (ADMIN_TOKEN 폴백 가능)
|
||||||
|
# 메일 발송 (선택, 없으면 콘솔에 링크만)
|
||||||
|
SMTP_HOST=mail.ncue.net
|
||||||
|
SMTP_PORT=587
|
||||||
|
SMTP_SECURE=0
|
||||||
|
SMTP_USER=dsyoon
|
||||||
|
SMTP_PASS=dsyoon5004!
|
||||||
|
SMTP_FROM=noreply@ncue.net
|
||||||
|
|
||||||
|
|
||||||
|
[채팅 기능 정보]
|
||||||
|
# 채팅 기능용 API 키
|
||||||
|
# OpenAI: https://platform.openai.com/api-keys
|
||||||
|
OPENAI_API_KEY=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
|
||||||
|
# 선택: UI의 gpt-5.4 / gpt-5-mini에 대응하는 실제 Chat Completions 모델 ID (미설정 시 gpt-4o / gpt-4o-mini)
|
||||||
|
OPENAI_MODEL_DEFAULT=gpt-5-mini
|
||||||
|
OPENAI_MODEL_MINI=gpt-5-mini
|
||||||
|
# OpenAI Responses API 내장 웹 검색(기본 on). 끄려면 아래 주석 해제 후 0
|
||||||
|
# OPENAI_WEB_SEARCH=0
|
||||||
|
# 웹 검색 위치 힌트(선택)
|
||||||
|
# OPENAI_WEB_SEARCH_COUNTRY=KR
|
||||||
|
# OPENAI_WEB_SEARCH_CITY=
|
||||||
|
# OPENAI_WEB_SEARCH_REGION=
|
||||||
|
# OPENAI_WEB_SEARCH_TIMEZONE=Asia/Seoul
|
||||||
|
# gpt-4o 전사 API: 요청당 오디오+토큰 한도 → ffmpeg 분할 길이(초). 짧을수록 안전(호출 수 증가)
|
||||||
|
OPENAI_TRANSCRIBE_SEGMENT_SEC=30
|
||||||
|
|
||||||
|
# Anthropic Claude (claude-*): https://console.anthropic.com/
|
||||||
|
CLAUDE_API_KEY=
|
||||||
|
# Google Gemini (gemini-*): https://aistudio.google.com/apikey
|
||||||
|
GENAI_API_KEY=
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[회의록 기능 정보]
|
||||||
|
# 관리자 토큰일 때 회의록 AI 등에 쓸 가상 사용자 이메일 (미설정 시 dev@xavis.co.kr)
|
||||||
|
EETING_DEV_EMAIL=dsyoon@ncue.net
|
||||||
|
# 선택: Whisper 전사 모델 (기본 whisper-1)
|
||||||
|
OPENAI_WHISPER_MODEL=gpt-4o-mini-transcribe
|
||||||
|
MEETING_DEV_EMAIL=dsyoon@ncue.net
|
||||||
2
.gitignore
vendored
2
.gitignore
vendored
@@ -2,8 +2,6 @@ node_modules/
|
|||||||
.DS_Store
|
.DS_Store
|
||||||
|
|
||||||
# 환경 비밀값 — 저장소에는 .env.example 만 공유
|
# 환경 비밀값 — 저장소에는 .env.example 만 공유
|
||||||
.env
|
|
||||||
.env.ncue
|
|
||||||
*.log
|
*.log
|
||||||
uploads/
|
uploads/
|
||||||
.tmp-pdftest/
|
.tmp-pdftest/
|
||||||
|
|||||||
Reference in New Issue
Block a user