120 lines
3.8 KiB
YAML
120 lines
3.8 KiB
YAML
spring:
|
|
application:
|
|
name: MovieNight
|
|
lifecycle:
|
|
timeout-per-shutdown-phase: 20s
|
|
datasource:
|
|
url: ${SPRING_DATASOURCE_URL:jdbc:h2:mem:movienight;MODE=PostgreSQL;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE}
|
|
username: ${SPRING_DATASOURCE_USERNAME:sa}
|
|
password: ${SPRING_DATASOURCE_PASSWORD:}
|
|
driver-class-name: ${SPRING_DATASOURCE_DRIVER_CLASS_NAME:org.h2.Driver}
|
|
hikari:
|
|
maximum-pool-size: ${SPRING_DATASOURCE_HIKARI_MAXIMUM_POOL_SIZE:20}
|
|
minimum-idle: ${SPRING_DATASOURCE_HIKARI_MINIMUM_IDLE:5}
|
|
connection-timeout: ${SPRING_DATASOURCE_HIKARI_CONNECTION_TIMEOUT:30000}
|
|
idle-timeout: ${SPRING_DATASOURCE_HIKARI_IDLE_TIMEOUT:600000}
|
|
max-lifetime: ${SPRING_DATASOURCE_HIKARI_MAX_LIFETIME:1800000}
|
|
flyway:
|
|
enabled: ${SPRING_FLYWAY_ENABLED:true}
|
|
url: ${SPRING_FLYWAY_URL:${SPRING_DATASOURCE_URL:jdbc:h2:mem:movienight;MODE=PostgreSQL;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE}}
|
|
user: ${SPRING_FLYWAY_USER:${SPRING_DATASOURCE_USERNAME:sa}}
|
|
password: ${SPRING_FLYWAY_PASSWORD:${SPRING_DATASOURCE_PASSWORD:}}
|
|
locations: ${SPRING_FLYWAY_LOCATIONS:classpath:db/migration}
|
|
baseline-on-migrate: ${SPRING_FLYWAY_BASELINE_ON_MIGRATE:true}
|
|
h2:
|
|
console:
|
|
enabled: ${SPRING_H2_CONSOLE_ENABLED:true}
|
|
path: /h2-console
|
|
security:
|
|
oauth2:
|
|
client:
|
|
registration:
|
|
google:
|
|
client-id: ${OAUTH2_GOOGLE_CLIENT_ID:test-client-id}
|
|
client-secret: ${OAUTH2_GOOGLE_CLIENT_SECRET:test-secret}
|
|
scope: email,profile
|
|
yandex:
|
|
client-id: ${OAUTH2_YANDEX_CLIENT_ID:test-client-id}
|
|
client-secret: ${OAUTH2_YANDEX_CLIENT_SECRET:test-secret}
|
|
authorization-grant-type: authorization_code
|
|
redirect-uri: "{baseUrl}/login/oauth2/code/{registrationId}"
|
|
scope: login:email,login:avatar
|
|
vk:
|
|
client-id: ${OAUTH2_VK_CLIENT_ID:test-client-id}
|
|
client-secret: ${OAUTH2_VK_CLIENT_SECRET:test-secret}
|
|
authorization-grant-type: authorization_code
|
|
client-authentication-method: client_secret_post
|
|
redirect-uri: "{baseUrl}/login/oauth2/code/{registrationId}"
|
|
scope: email
|
|
provider:
|
|
yandex:
|
|
authorization-uri: https://oauth.yandex.ru/authorize
|
|
token-uri: https://oauth.yandex.ru/token
|
|
user-info-uri: https://login.yandex.ru/info
|
|
user-name-attribute: id
|
|
vk:
|
|
authorization-uri: https://oauth.vk.com/authorize
|
|
token-uri: https://oauth.vk.com/access_token
|
|
user-info-uri: https://api.vk.com/method/users.get?v=5.131&fields=photo_200
|
|
user-name-attribute: response
|
|
|
|
server:
|
|
shutdown: graceful
|
|
|
|
management:
|
|
endpoints:
|
|
web:
|
|
base-path: /actuator
|
|
exposure:
|
|
include: health,info,prometheus
|
|
endpoint:
|
|
health:
|
|
probes:
|
|
enabled: true
|
|
show-details: when_authorized
|
|
health:
|
|
livenessstate:
|
|
enabled: true
|
|
readinessstate:
|
|
enabled: true
|
|
info:
|
|
env:
|
|
enabled: true
|
|
|
|
springdoc:
|
|
api-docs:
|
|
path: /api/v1/docs
|
|
swagger-ui:
|
|
path: /api/v1/swagger-ui
|
|
enabled: true
|
|
show-actuator: true
|
|
|
|
info:
|
|
app:
|
|
name: ${spring.application.name}
|
|
description: MovieNight backend service
|
|
version: ${project.version:unknown}
|
|
|
|
integrations:
|
|
jellyfin:
|
|
enabled: ${JELLYFIN_SYNC_ENABLED:false}
|
|
base-url: ${JELLYFIN_BASE_URL:}
|
|
api-key: ${JELLYFIN_API_KEY:}
|
|
sync-interval-ms: ${JELLYFIN_SYNC_INTERVAL_MS:1800000}
|
|
request-timeout-ms: ${JELLYFIN_REQUEST_TIMEOUT_MS:20000}
|
|
|
|
services:
|
|
user:
|
|
blocked-names:
|
|
- admin
|
|
- root
|
|
- system
|
|
film:
|
|
blocked-patterns:
|
|
- censored
|
|
- epstein
|
|
- python
|
|
logging:
|
|
pattern:
|
|
console: "%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level [%X{traceId}] %logger{36} - %msg%n"
|