mirror of
https://github.com/hwanny1128/HGZero.git
synced 2025-12-06 20:46:23 +00:00
142 lines
4.7 KiB
Markdown
142 lines
4.7 KiB
Markdown
# 백엔드 서비스 실행 프로파일 가이드
|
|
|
|
## 개요
|
|
HGZero 프로젝트의 모든 백엔드 서비스를 IntelliJ IDEA에서 실행할 수 있는 실행 프로파일을 생성했습니다.
|
|
|
|
## 생성된 실행 프로파일
|
|
|
|
### 1. UserApplication
|
|
- **포트**: 8080
|
|
- **데이터베이스**: userdb (20.214.121.121:5432)
|
|
- **Redis 데이터베이스**: 0
|
|
- **메인 클래스**: `com.unicorn.hgzero.user.UserApplication`
|
|
- **모듈**: user
|
|
- **로그 파일**: logs/user.log
|
|
|
|
### 2. NotificationApplication
|
|
- **포트**: 8084
|
|
- **데이터베이스**: notificationdb (4.230.159.143:5432)
|
|
- **Redis 데이터베이스**: 4
|
|
- **메인 클래스**: `com.unicorn.hgzero.notification.NotificationApplication`
|
|
- **모듈**: notification
|
|
- **로그 파일**: logs/notification.log
|
|
|
|
### 3. AiApplication
|
|
- **포트**: 8083
|
|
- **데이터베이스**: aidb (20.249.153.213:5432)
|
|
- **Redis 데이터베이스**: 4
|
|
- **메인 클래스**: `com.unicorn.hgzero.ai.AiApplication`
|
|
- **모듈**: ai
|
|
- **로그 파일**: logs/ai.log
|
|
|
|
### 4. MeetingApplication
|
|
- **포트**: 8082
|
|
- **데이터베이스**: meetingdb (4.230.48.72:5432)
|
|
- **Redis 데이터베이스**: 1
|
|
- **메인 클래스**: `com.unicorn.hgzero.meeting.MeetingApplication`
|
|
- **모듈**: meeting
|
|
- **로그 파일**: logs/meeting-service.log
|
|
|
|
### 5. SttApplication
|
|
- **포트**: 8085
|
|
- **데이터베이스**: sttdb (4.230.65.89:5432)
|
|
- **Redis 데이터베이스**: 2
|
|
- **메인 클래스**: `com.unicorn.hgzero.stt.SttApplication`
|
|
- **모듈**: stt
|
|
- **로그 파일**: logs/stt.log
|
|
|
|
## 환경 변수 설정
|
|
|
|
각 서비스별로 다음 환경 변수들이 설정되어 있습니다:
|
|
|
|
### 공통 환경 변수
|
|
- `JWT_SECRET`: 각 서비스별 개발용 JWT 시크릿 키
|
|
- `CORS_ALLOWED_ORIGINS`: http://localhost:*
|
|
- `SHOW_SQL`: true (개발용)
|
|
- `DDL_AUTO`: update (개발용)
|
|
- `LOG_LEVEL_APP`: DEBUG
|
|
- 기타 로깅 레벨 설정
|
|
|
|
### 서비스별 특화 환경 변수
|
|
|
|
#### AI 서비스
|
|
- `AZURE_OPENAI_API_KEY`: OpenAI API 키가 설정됨
|
|
- `AZURE_OPENAI_ENDPOINT`: https://api.openai.com/v1
|
|
- `AZURE_OPENAI_DEPLOYMENT`: gpt-4o
|
|
- `AZURE_OPENAI_EMBEDDING_DEPLOYMENT`: text-embedding-3-large
|
|
|
|
#### Notification 서비스
|
|
- `MAIL_HOST`: smtp.gmail.com
|
|
- `MAIL_PORT`: 587
|
|
- `NOTIFICATION_FROM_EMAIL`: noreply@hgzero.com
|
|
- `NOTIFICATION_FROM_NAME`: HGZero
|
|
|
|
#### STT 서비스
|
|
- `AZURE_SPEECH_REGION`: eastus
|
|
- `AZURE_SPEECH_LANGUAGE`: ko-KR
|
|
- `AZURE_BLOB_CONTAINER_NAME`: recordings
|
|
|
|
#### User 서비스
|
|
- `LDAP_URLS`: ldaps://ldap.example.com:636
|
|
- `LDAP_BASE`: dc=example,dc=com
|
|
|
|
#### Meeting 서비스
|
|
- `CLAUDE_API_KEY`: Claude AI API 키
|
|
- `OPENAI_API_KEY`: OpenAI API 키
|
|
- `OPENWEATHER_API_KEY`: OpenWeather API 키
|
|
- `KAKAO_API_KEY`: Kakao API 키
|
|
- `EVENTHUB_CONNECTION_STRING`: Azure EventHub 연결 문자열
|
|
- `EVENTHUB_NAME`: hgzero-eventhub-name
|
|
|
|
## 실행 방법
|
|
|
|
### IntelliJ IDEA에서 실행
|
|
1. IntelliJ IDEA에서 프로젝트 열기
|
|
2. Run/Debug Configurations 에서 원하는 서비스 선택
|
|
3. Run 또는 Debug 모드로 실행
|
|
|
|
### 서비스 실행 순서 권장사항
|
|
1. **UserApplication** (8080) - 사용자 인증 서비스
|
|
2. **MeetingApplication** (8082) - 회의록 관리 서비스
|
|
3. **AiApplication** (8083) - AI 처리 서비스
|
|
4. **NotificationApplication** (8084) - 알림 서비스
|
|
5. **SttApplication** (8085) - 음성 인식 서비스
|
|
|
|
## 주의사항
|
|
|
|
### 데이터베이스 연결 설정
|
|
**현재 설정된 데이터베이스 비밀번호**: `Hi5Jessica!`
|
|
- 모든 서비스가 동일한 데이터베이스 비밀번호를 사용하도록 설정되었습니다
|
|
- **HIBERNATE_DIALECT**가 `org.hibernate.dialect.PostgreSQLDialect`로 명시적으로 설정되어 연결 오류를 방지합니다
|
|
|
|
### 필수 설정이 필요한 환경 변수
|
|
다음 환경 변수들은 실제 운영 시 설정이 필요합니다:
|
|
|
|
- `REDIS_PASSWORD`: Redis 비밀번호 (필요시)
|
|
- `AZURE_SPEECH_SUBSCRIPTION_KEY`: Azure Speech 서비스 키 (STT 서비스)
|
|
- `AZURE_EVENTHUB_CONNECTION_STRING`: Event Hub 연결 문자열
|
|
- `AZURE_STORAGE_CONNECTION_STRING`: Azure Storage 연결 문자열
|
|
- `MAIL_USERNAME`, `MAIL_PASSWORD`: 이메일 발송용 계정 정보
|
|
|
|
### 포트 충돌 방지
|
|
- User: 8080
|
|
- Meeting: 8082
|
|
- AI: 8083
|
|
- Notification: 8084
|
|
- STT: 8085
|
|
|
|
모든 서비스가 서로 다른 포트를 사용하므로 동시 실행이 가능합니다.
|
|
|
|
## 로그 파일 위치
|
|
- 모든 로그는 프로젝트 루트의 `logs/` 디렉토리에 저장됩니다
|
|
- 각 서비스별 로그 파일:
|
|
- `logs/user.log`
|
|
- `logs/meeting-service.log`
|
|
- `logs/notification.log`
|
|
- `logs/ai.log`
|
|
- `logs/stt.log`
|
|
|
|
## 개발 환경 설정
|
|
- 모든 프로파일은 `dev` 프로파일로 설정됨
|
|
- SQL 로깅이 활성화되어 개발 중 디버깅 용이
|
|
- DDL 자동 업데이트로 스키마 변경 자동 반영 |