hgzero/develop/dev/run-profiles-guide.md
2025-10-23 16:38:37 +09:00

4.0 KiB

백엔드 서비스 실행 프로파일 가이드

개요

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. SttApplication

  • 포트: 8082
  • 데이터베이스: 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

실행 방법

IntelliJ IDEA에서 실행

  1. IntelliJ IDEA에서 프로젝트 열기
  2. Run/Debug Configurations 에서 원하는 서비스 선택
  3. Run 또는 Debug 모드로 실행

서비스 실행 순서 권장사항

  1. UserApplication (8080) - 사용자 인증 서비스
  2. SttApplication (8082) - 음성 인식 서비스
  3. AiApplication (8083) - AI 처리 서비스
  4. NotificationApplication (8084) - 알림 서비스

주의사항

데이터베이스 연결 설정

현재 설정된 데이터베이스 비밀번호: hgzero123!

  • 모든 서비스가 동일한 데이터베이스 비밀번호를 사용하도록 설정되었습니다
  • HIBERNATE_DIALECTorg.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
  • STT: 8082
  • AI: 8083
  • Notification: 8084

모든 서비스가 서로 다른 포트를 사용하므로 동시 실행이 가능합니다.

로그 파일 위치

  • 모든 로그는 프로젝트 루트의 logs/ 디렉토리에 저장됩니다
  • 각 서비스별 로그 파일:
    • logs/user.log
    • logs/notification.log
    • logs/ai.log
    • logs/stt.log

개발 환경 설정

  • 모든 프로파일은 dev 프로파일로 설정됨
  • SQL 로깅이 활성화되어 개발 중 디버깅 용이
  • DDL 자동 업데이트로 스키마 변경 자동 반영