Files
votianlt/backend/src/main/resources/application.properties

98 lines
3.8 KiB
Properties

server.port=${PORT:8082}
server.address=0.0.0.0
# Default active profile
spring.profiles.active=dev
# Logging configuration
logging.level.org.atmosphere=warn
logging.level.com.vaadin.flow.server.communication.PushAtmosphereHandler=off
logging.level.de.assecutor.votianlt=INFO
logging.level.de.assecutor.votianlt.controller.MessageController=DEBUG
logging.level.de.assecutor.votianlt.config.MongoConfig=DEBUG
# File logging configuration
logging.file.name=logs/votianlt.log
logging.logback.rollingpolicy.max-file-size=10MB
logging.logback.rollingpolicy.max-history=30
logging.pattern.file=%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n
logging.pattern.console=%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n
spring.mustache.check-template-location=false
# Launch the default browser when starting the application in development mode
vaadin.launch-browser=true
# Disable Vaadin Copilot to avoid NullPointerException in dev mode
vaadin.copilot.enabled=false
# To improve the performance during development.
# For more information https://vaadin.com/docs/latest/flow/integrations/spring/configuration#special-configuration-parameters
vaadin.allowed-packages=com.vaadin,org.vaadin,de.assecutor.votianlt
# Open-in-view is only needed if you use lazy-loaded entities in your Flow views.
spring.jpa.open-in-view=false
# MongoDB - Default configuration (override in profile-specific files)
spring.data.mongodb.uri=${MONGODB_URI}
spring.data.mongodb.auto-index-creation=true
spring.data.mongodb.socket-timeout=30000
spring.data.mongodb.connect-timeout=10000
spring.data.mongodb.server-selection-timeout=5000
# Mail Configuration (Spring Boot Standard)
spring.mail.host=${MAIL_HOST}
spring.mail.port=${MAIL_PORT}
spring.mail.username=${MAIL_USERNAME}
spring.mail.password=${MAIL_PASSWORD}
spring.mail.properties.mail.smtp.auth=${MAIL_SMTP_AUTH}
spring.mail.properties.mail.smtp.ssl.enable=${MAIL_SMTP_SSL}
# HTTP request size limits for large payloads
server.max-http-request-header-size=8MB
# Tomcat connector limits
server.tomcat.max-http-form-post-size=64MB
server.tomcat.max-save-post-size=64MB
server.tomcat.max-swallow-size=64MB
# Multipart upload limits for photo HTTP uploads
spring.servlet.multipart.max-file-size=32MB
spring.servlet.multipart.max-request-size=64MB
# Jackson message converter limits
spring.jackson.default-property-inclusion=non_null
# 2FA Configuration (global toggle - individual users can disable in their profile)
app.security.two-factor.enabled=true
# WebSocket Configuration
app.messaging.websocket.path=/ws/messaging
app.messaging.websocket.max-text-message-size=65536
app.messaging.websocket.max-session-idle-timeout=300000
app.messaging.websocket.allowed-origins=*
# Application Version - automatically set from pom.xml during build
app.version=@project.version@
# Google Maps API Key
app.google.maps.api-key=AIzaSyDnbitL06iLp3elmj-WtPudCykX9xvXcVE
# ===========================================
# LLM Configuration (LM Studio)
# ===========================================
app.ai.lmstudio.base-url=${LMSTUDIO_URL}
app.ai.lmstudio.model=${LMSTUDIO_MODEL}
app.ai.lmstudio.htaccess-username=${LMSTUDIO_HTACCESS_USERNAME}
app.ai.lmstudio.htaccess-password=${LMSTUDIO_HTACCESS_PASSWORD}
# Spring AI OpenAI properties (Pflicht für Auto-Configuration, werden vom LlmRestClient überschrieben)
spring.ai.openai.base-url=${LMSTUDIO_URL}
spring.ai.openai.api-key=not-used
spring.ai.openai.chat.options.model=${LMSTUDIO_MODEL}
spring.ai.openai.chat.options.temperature=0.7
spring.ai.openai.chat.options.stream=false
spring.ai.openai.connect-timeout=10s
spring.ai.openai.read-timeout=120s
# ===========================================
# MCP Server Configuration
# ===========================================
spring.ai.mcp.server.enabled=true
spring.ai.mcp.server.name=votianlt-mcp-server
spring.ai.mcp.server.version=1.0.0
spring.ai.mcp.server.sse-message-endpoint=/mcp/message