본문 바로가기

Playlist

application.yml

 

spring:
  application:
    name: playlist
  servlet:
    multipart:
      max-file-size: 10MB
      max-request-size: 15MB

  security:
    oauth2:
      client:
        registration:
          google:
            client-id: ${GOOGLE_CLIENT_ID}
            client-secret: ${GOOGLE_CLIENT_PASSWORD}
            scope:
              - email
              - profile
          kakao:
            client-id: ${KAKAO_REST_API_KEY}
            client-secret: ${KAKAO_CLIENT_SECRET}
            client-authentication-method: client_secret_post
            client-name: kakao
            redirect-uri: "{baseUrl}/login/oauth2/code/kakao"
            authorization-grant-type: authorization_code
            scope:
              - profile_nickname
              - profile_image
              - account_email

        provider:
          kakao:
            authorization-uri: https://kauth.kakao.com/oauth/authorize
            token-uri: https://kauth.kakao.com/oauth/token
            user-info-uri: https://kapi.kakao.com/v2/user/me
            user-name-attribute: id

  data:
    redis:
      host: ${REDIS_HOST}
      port: ${REDIS_PORT}
      ssl:
        enabled: true
      lettuce:
        pool:
          max-active: 20
          max-idle: 10
          min-idle: 5
          max-wait: 60000

  datasource:
    driver-class-name: org.postgresql.Driver
  jpa:
    show-sql: true
  profiles:
    active: ${SPRING_PROFILES_ACTIVE}
  config:
    import: optional:file:.env[.properties]

  mail:
    host: smtp.gmail.com        # SMTP 서버 호스트
    port: 587                   # SMTP 서버 포트
    username: ${SPRING_MAIL_USERNAME}                # SMTP 서버 로그인 아이디
    password: ${SPRING_MAIL_PASSWORD}                # SMTP 서버 로그인 비밀번호
    properties:
      mail:
        smtp:
          auth: true            # 사용자 인증 시도 여부
          starttls:
            enable: true

  batch:
    jdbc:
      initialize-schema: NEVER

  sql:
    init:
      mode: always
      schema-locations: classpath:schema-postgres.sql

  jackson:
    time-zone: Asia/Seoul

management:
  endpoints:
    web:
      exposure:
        include: health,info,metrics,loggers,caches
  endpoint:
    health:
      show-details: always
  observations:
    annotations:
      enabled: true

oauth2:
  redirect:
    base-url: ${OAUTH2_REDIRECT_BASE_URL:http://localhost:8080}

  jwt:
    cookie:
      secure: false

websocket:
  allowed-origins: ${WEBSOCKET_ALLOWED_ORIGINS:http://localhost:8080}

sse:
  timeout: 300_000

cloud:
  aws:
    s3:
      content-bucket: ${CONTENT_BUCKET}
      profile-bucket: ${PROFILE_BUCKET}
      logs-bucket: ${LOGS_BUCKET}
      region: ${AWS_REGION}

api:
  tmdb:
    base-url: ${TMDB_BASE_URL}
    key: ${TMDB_API_KEY}
  sportsdb:
    key: ${SPORTSDB_API_KEY}
    base-url: ${SPORTSDB_BASE_URL}

playlist:
  jwt:
    access-token:
      secret: ${JWT_ACCESS_TOKEN_SECRET}
      expiration-ms: ${JWT_ACCESS_TOKEN_EXPIRATION_MS:3600000} # 1시간
    refresh-token:
      secret: ${JWT_REFRESH_TOKEN_SECRET}
      expiration-ms: ${JWT_REFRESH_TOKEN_EXPIRATION_MS:604800000} # 7일
    cookie:
      secure: true

server:
  forward-headers-strategy: framework

'Playlist' 카테고리의 다른 글

build.gradle  (0) 2025.12.17
Dockerfile  (0) 2025.12.17
docker-compose.yml  (0) 2025.12.17
application-prod.yml  (0) 2025.12.17
application-dev.yml  (0) 2025.12.17