# TK-FB-Project 환경 변수 설정 예시 # 이 파일을 복사하여 .env 파일을 생성하고 실제 값으로 변경하세요 # # 사용법: # 1. cp .env.example .env # 2. .env 파일을 편집하여 실제 비밀번호로 변경 # 3. .env 파일은 절대 Git에 커밋하지 마세요! # ============================================================================= # 데이터베이스 설정 # ============================================================================= # MariaDB/MySQL Root 비밀번호 (최소 12자 이상, 영문/숫자/특수문자 조합) MYSQL_ROOT_PASSWORD=change_this_root_password_min_12_chars # 데이터베이스 이름 MYSQL_DATABASE=hyungi # 데이터베이스 사용자명 MYSQL_USER=hyungi_user # 데이터베이스 사용자 비밀번호 (최소 12자 이상, 영문/숫자/특수문자 조합) MYSQL_PASSWORD=change_this_user_password_min_12_chars # ============================================================================= # API 서버 설정 # ============================================================================= # Node.js 환경 (development | production) NODE_ENV=production # API 서버 포트 (컨테이너 내부) PORT=3005 # 데이터베이스 연결 정보 DB_HOST=db DB_PORT=3306 DB_USER=hyungi_user DB_PASSWORD=change_this_user_password_min_12_chars DB_NAME=hyungi # ============================================================================= # JWT 인증 설정 # ============================================================================= # JWT Secret Key (최소 32자 이상의 랜덤 문자열) # 생성 방법: openssl rand -base64 32 # 또는: node -e "console.log(require('crypto').randomBytes(32).toString('hex'))" JWT_SECRET=change_this_to_random_string_min_32_chars # JWT 액세스 토큰 만료 시간 JWT_EXPIRES_IN=7d # JWT 리프레시 토큰 만료 시간 JWT_REFRESH_SECRET=change_this_to_another_random_string_min_32_chars JWT_REFRESH_EXPIRES_IN=30d # ============================================================================= # FastAPI 설정 # ============================================================================= # API 서버 URL (컨테이너 간 통신) API_BASE_URL=http://api:3005 # ============================================================================= # phpMyAdmin 설정 # ============================================================================= # phpMyAdmin에서 사용할 데이터베이스 호스트 PMA_HOST=db # phpMyAdmin 사용자 (일반적으로 root) PMA_USER=root # phpMyAdmin 비밀번호 (MYSQL_ROOT_PASSWORD와 동일하게) PMA_PASSWORD=change_this_root_password_min_12_chars # 파일 업로드 제한 UPLOAD_LIMIT=50M # ============================================================================= # 외부 서비스 (선택사항) # ============================================================================= # OpenAI API (AI 기능 사용 시) # OPENAI_API_KEY=sk-your-openai-api-key-here # 이메일 발송 (SMTP 설정) # EMAIL_HOST=smtp.gmail.com # EMAIL_PORT=587 # EMAIL_USER=your-email@gmail.com # EMAIL_PASSWORD=your-app-password # EMAIL_FROM=noreply@tkfb.com # ============================================================================= # 보안 참고사항 # ============================================================================= # # 강력한 비밀번호 생성 방법: # # 1. 터미널에서 랜덤 비밀번호 생성: # openssl rand -base64 24 # # 2. Node.js로 랜덤 문자열 생성: # node -e "console.log(require('crypto').randomBytes(32).toString('hex'))" # # 3. 온라인 도구 사용: # https://www.lastpass.com/features/password-generator # # 주의사항: # - .env 파일은 절대 Git에 커밋하지 마세요 # - 프로덕션 환경에서는 더 강력한 비밀번호를 사용하세요 # - 정기적으로 비밀번호를 변경하세요 # - JWT_SECRET은 유출되면 모든 토큰이 무효화됩니다 #