125 lines
3 KiB
YAML
125 lines
3 KiB
YAML
spring:
|
|
application:
|
|
name: fitpub
|
|
|
|
# Default to dev profile if not specified
|
|
profiles:
|
|
active: ${SPRING_PROFILES_ACTIVE:dev}
|
|
|
|
# Datasource configuration is handled by Testcontainers in dev mode
|
|
# For production, set these via environment variables:
|
|
# - SPRING_DATASOURCE_URL
|
|
# - SPRING_DATASOURCE_USERNAME
|
|
# - SPRING_DATASOURCE_PASSWORD
|
|
datasource:
|
|
url: ${SPRING_DATASOURCE_URL:}
|
|
username: ${SPRING_DATASOURCE_USERNAME:}
|
|
password: ${SPRING_DATASOURCE_PASSWORD:}
|
|
|
|
jpa:
|
|
hibernate:
|
|
ddl-auto: validate
|
|
properties:
|
|
hibernate:
|
|
dialect: org.hibernate.dialect.PostgreSQLDialect
|
|
format_sql: true
|
|
use_sql_comments: true
|
|
show-sql: false
|
|
|
|
flyway:
|
|
enabled: true
|
|
baseline-on-migrate: true
|
|
locations: classpath:db/migration
|
|
schemas: public
|
|
validate-on-migrate: true
|
|
|
|
servlet:
|
|
multipart:
|
|
max-file-size: 50MB
|
|
max-request-size: 50MB
|
|
enabled: true
|
|
|
|
jackson:
|
|
serialization:
|
|
write-dates-as-timestamps: false
|
|
time-zone: UTC
|
|
|
|
# FitPub specific configuration
|
|
fitpub:
|
|
# Domain and URL configuration
|
|
domain: ${FITPUB_DOMAIN:localhost:8080}
|
|
base-url: ${FITPUB_BASE_URL:http://localhost:8080}
|
|
|
|
# ActivityPub federation settings
|
|
activitypub:
|
|
enabled: true
|
|
max-federation-retries: 3
|
|
request-timeout-seconds: 30
|
|
# Allow connections to private IPs (for local testing only - disable in production!)
|
|
allow-private-ips: ${FITPUB_ALLOW_PRIVATE_IPS:false}
|
|
# Federation protocol (http or https) - use http for local testing, https for production
|
|
federation-protocol: ${FITPUB_FEDERATION_PROTOCOL:https}
|
|
|
|
# Security settings
|
|
security:
|
|
jwt:
|
|
secret: ${JWT_SECRET:change-this-secret-key-in-production-must-be-at-least-32-characters-long}
|
|
expiration: 86400000 # 24 hours in milliseconds
|
|
|
|
# Registration settings
|
|
registration:
|
|
enabled: ${REGISTRATION_ENABLED:true}
|
|
|
|
# Storage settings
|
|
storage:
|
|
fit-files:
|
|
enabled: true
|
|
retention-days: 365
|
|
images:
|
|
path: ${FITPUB_IMAGES_PATH:${java.io.tmpdir}/fitpub/images}
|
|
tile-cache:
|
|
path: ${FITPUB_TILE_CACHE_PATH:${java.io.tmpdir}/fitpub/tiles}
|
|
|
|
# Image generation settings
|
|
image:
|
|
osm-tiles:
|
|
enabled: ${OSM_TILES_ENABLED:true}
|
|
|
|
# Weather API settings
|
|
weather:
|
|
enabled: ${WEATHER_ENABLED:false}
|
|
api-key: ${OPENWEATHERMAP_API_KEY:}
|
|
|
|
# Logging configuration
|
|
logging:
|
|
level:
|
|
root: INFO
|
|
org.operaton.fitpub: DEBUG
|
|
org.hibernate.SQL: DEBUG
|
|
org.hibernate.type.descriptor.sql.BasicBinder: TRACE
|
|
org.springframework.security: DEBUG
|
|
|
|
# Server configuration
|
|
server:
|
|
port: ${PORT:8080}
|
|
error:
|
|
include-message: always
|
|
include-binding-errors: always
|
|
|
|
# Actuator configuration
|
|
management:
|
|
endpoints:
|
|
web:
|
|
exposure:
|
|
include: health,info
|
|
base-path: /actuator
|
|
endpoint:
|
|
health:
|
|
show-details: when-authorized
|
|
probes:
|
|
enabled: true
|
|
health:
|
|
db:
|
|
enabled: true
|
|
diskspace:
|
|
enabled: true
|