Files
LoreMind/core/src/main/resources/application.properties
IETM_FIXE\ietm6 efe6f6c2b0
Some checks failed
E2E Tests / e2e (push) Failing after 19s
Build & Push Images / build (brain) (push) Successful in 48s
Build & Push Images / build (core) (push) Successful in 1m20s
Build & Push Images / build (web) (push) Successful in 1m30s
Empêche la modale de ce fermer tant que le llm n'est pas télécharger
2026-04-26 09:12:36 +02:00

71 lines
3.2 KiB
Properties

# 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
# Pas de timeout sur les requetes async (StreamingResponseBody, SSE).
# Le defaut Tomcat coupe a 30s, ce qui interrompt le streaming d'un pull
# de modele Ollama (peut durer des dizaines de minutes pour un GGUF de 10+ Go).
# -1 = pas de timeout, on s'appuie sur la fermeture cote client ou cote upstream.
spring.mvc.async.request-timeout=-1
# 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}
# Detection des mises a jour des conteneurs Docker (registry HTTP API + Watchtower).
# Feature desactivee si UPDATE_CHECK_WATCHTOWER_TOKEN est vide.
update-check.registry=${UPDATE_CHECK_REGISTRY:}
update-check.images=${UPDATE_CHECK_IMAGES:}
update-check.tag=${UPDATE_CHECK_TAG:latest}
update-check.watchtower-url=${WATCHTOWER_URL:http://watchtower:8080}
update-check.watchtower-token=${WATCHTOWER_TOKEN:}