# Configuration du serveur server.port=8080 # On garde Tomcat (Web MVC) comme serveur primaire, malgré la présence # de WebFlux (utilisé uniquement pour WebClient côté adapter SSE vers le Brain). spring.main.web-application-type=servlet # Configuration de la base de donnees PostgreSQL # Valeurs surchargeables via variables d'env (cf. docker-compose.yml). # En dev local, creez un fichier .env a la racine de core/ OU definissez les # variables dans votre IDE (Run Configuration > Environment variables). spring.datasource.url=${SPRING_DATASOURCE_URL:jdbc:postgresql://localhost:5432/loremind} spring.datasource.username=${SPRING_DATASOURCE_USERNAME:} spring.datasource.password=${SPRING_DATASOURCE_PASSWORD:} spring.datasource.driver-class-name=org.postgresql.Driver # Configuration JPA / Hibernate spring.jpa.database-platform=org.hibernate.dialect.PostgreSQLDialect spring.jpa.hibernate.ddl-auto=update spring.jpa.show-sql=true spring.jpa.properties.hibernate.format_sql=true # Configuration CORS pour autoriser le Frontend Angular spring.web.cors.allowed-origins=${CORS_ALLOWED_ORIGINS:http://localhost:4200} spring.web.cors.allowed-methods=GET,POST,PUT,DELETE,OPTIONS spring.web.cors.allowed-headers=* spring.web.cors.allow-credentials=true # Configuration du Brain (service IA Python) brain.base-url=${BRAIN_BASE_URL:http://localhost:8000} brain.timeout-seconds=120 # Secret partage Core <-> Brain (auth inter-service via entete X-Internal-Secret). # OBLIGATOIRE en prod : si non defini, le Brain rejette toutes les requetes (fail-closed). brain.internal-secret=${BRAIN_INTERNAL_SECRET:} # Credentials admin pour /api/settings/** (HTTP Basic). # Si ADMIN_PASSWORD n'est pas defini, l'application refuse de demarrer. admin.username=${ADMIN_USERNAME:admin} admin.password=${ADMIN_PASSWORD:} # Configuration MinIO (Shared Kernel images - Object Storage) # Le bucket est cree automatiquement par le service minio-init (docker-compose up -d). # Defaults OK pour dev local ; overrides en prod via env. minio.endpoint=${MINIO_ENDPOINT:http://localhost:9000} minio.access-key=${MINIO_ACCESS_KEY:minioadmin} minio.secret-key=${MINIO_SECRET_KEY:minioadmin} minio.bucket=${MINIO_BUCKET:loremind-images} # Limites d'upload d'images (MB) spring.servlet.multipart.max-file-size=10MB spring.servlet.multipart.max-request-size=10MB # Mode demo : masque Settings/Export cote front et bloque les PUT /api/settings # cote serveur. Activer via DEMO_MODE=true sur les deploiements publics. app.demo-mode=${DEMO_MODE:false}