104 lines
6.1 KiB
Properties
104 lines
6.1 KiB
Properties
# ============================================================================
|
|
# Profil "local" — mode local-first (application de bureau, sans Docker)
|
|
# ============================================================================
|
|
# Active via : --spring.profiles.active=local (ou SPRING_PROFILES_ACTIVE=local)
|
|
#
|
|
# Objectif : faire tourner le Core sur le poste de l'utilisateur SANS aucune
|
|
# infrastructure externe (ni Postgres, ni MinIO, ni Docker). Toutes les donnees
|
|
# vivent sous loremind.home (defaut : ~/.loremind).
|
|
#
|
|
# Surcharge UNIQUEMENT ce qui differe du profil par defaut (application.properties) :
|
|
# le reste (timeouts, multipart, licensing...) est herite tel quel.
|
|
|
|
# --- Config utilisateur editable (port + identifiants admin) ----------------
|
|
# Charge ~/.loremind/loremind.properties s'il existe (cree au 1er lancement par
|
|
# DesktopUserConfig). "optional:" = pas d'erreur s'il manque. Les valeurs y
|
|
# definies (server.port, admin.username, admin.password) SURCHARGENT les defauts
|
|
# ci-dessous (un import a une priorite superieure au fichier qui l'importe).
|
|
# NB : le port effectif est de toute facon fixe par DesktopUserConfig au demarrage
|
|
# (propriete systeme server.port, avec repli si le port est occupe).
|
|
spring.config.import=optional:file:${user.home}/.loremind/loremind.properties
|
|
|
|
# --- Serveur : ecoute UNIQUEMENT sur la boucle locale -----------------------
|
|
# App de bureau mono-utilisateur : jamais exposee au reseau (securite). Et ca
|
|
# rend coherent le test "port libre" de DesktopUserConfig (qui teste 127.0.0.1)
|
|
# avec l'adresse de bind reelle de Tomcat -> le repli sur port libre fonctionne
|
|
# meme si une autre appli occupe le port sur une autre interface.
|
|
server.address=127.0.0.1
|
|
|
|
# --- Base de donnees : H2 en mode fichier, compatibilite PostgreSQL ---------
|
|
# MODE=PostgreSQL : H2 interprete le SQL PostgreSQL -> les MEMES migrations
|
|
# Flyway (ecrites en SQL Postgres) tournent ici comme sur la prod Postgres.
|
|
# Aligne aussi la casse des identifiants (minuscules, comme PG).
|
|
# DB_CLOSE_ON_EXIT=FALSE : Spring/Hikari pilote la fermeture (pas le shutdown
|
|
# hook H2). AUTO_SERVER volontairement absent (interdit avec DB_CLOSE_ON_EXIT,
|
|
# et inutile pour un process unique).
|
|
# NON_KEYWORDS=VALUE : PostgreSQL accepte `value` comme nom de colonne non-quote
|
|
# (colonne de playthrough_flag), mais H2 le reserve par defaut -> on le relache
|
|
# pour que le baseline SQL Postgres (non-quote) passe aussi sur H2. Ajouter
|
|
# d'autres mots ici si une migration future utilise un identifiant reserve H2.
|
|
spring.datasource.url=jdbc:h2:file:${loremind.home}/db/loremind;MODE=PostgreSQL;DB_CLOSE_ON_EXIT=FALSE;NON_KEYWORDS=VALUE
|
|
spring.datasource.username=sa
|
|
spring.datasource.password=
|
|
spring.datasource.driver-class-name=org.h2.Driver
|
|
spring.jpa.database-platform=org.hibernate.dialect.H2Dialect
|
|
# Schema gere par Flyway (cf. application.properties) ; Hibernate valide seulement.
|
|
spring.jpa.hibernate.ddl-auto=validate
|
|
spring.jpa.show-sql=false
|
|
|
|
# --- Stockage des images : systeme de fichiers -----------------------------
|
|
storage.backend=filesystem
|
|
storage.filesystem.path=${loremind.home}/images
|
|
|
|
# --- Brain : service IA Python lance en sidecar sur le poste ---------------
|
|
brain.base-url=http://localhost:8000
|
|
# Secret partage Core <-> Brain. En local il n'a pas de role securitaire fort
|
|
# (tout est sur localhost, mono-utilisateur) mais le Brain est fail-closed :
|
|
# il DOIT etre defini des deux cotes. Le lanceur de sidecar (BrainSidecar)
|
|
# propage cette meme valeur au process Brain via la variable BRAIN_INTERNAL_SECRET.
|
|
brain.internal-secret=${BRAIN_INTERNAL_SECRET:loremind-local-secret}
|
|
|
|
# --- Brain en sidecar (lance par le Core) ----------------------------------
|
|
# Le Core demarre lui-meme le process Brain (pas de Docker en local).
|
|
brain.sidecar.enabled=${BRAIN_SIDECAR_ENABLED:true}
|
|
# Le Brain ecrit son dossier data/ (index vectoriel, settings) sous ce dossier.
|
|
brain.sidecar.working-dir=${loremind.home}/brain
|
|
# Commande de lancement. VIDE par defaut : le dev qui lance le Brain a la main
|
|
# n'est pas perturbe. Le packaging (jpackage) la renseigne vers l'exe PyInstaller.
|
|
# - Empaquete : chemin de l'exe, ex. C:/Program Files/LoreMind/brain/loremind-brain.exe
|
|
# - Dev : python,-m,uvicorn,app.main:app,--host,127.0.0.1,--port,8000
|
|
# (avec brain.sidecar.working-dir pointant sur le dossier brain/)
|
|
brain.sidecar.command=${BRAIN_SIDECAR_COMMAND:}
|
|
|
|
# --- Admin (localhost uniquement) ------------------------------------------
|
|
# Application mono-utilisateur sur le poste : l'utilisateur EST l'admin.
|
|
# Defauts admin/admin, SURCHARGEABLES par l'utilisateur dans
|
|
# ~/.loremind/loremind.properties (cf. spring.config.import ci-dessus).
|
|
admin.username=${ADMIN_USERNAME:admin}
|
|
admin.password=${ADMIN_PASSWORD:admin}
|
|
|
|
# --- Front servi par le Core (meme origine) --------------------------------
|
|
# Le front Angular est servi en statique par le Core (cf. LocalWebConfig),
|
|
# donc tout est sur http://localhost:8080 : CORS sans objet, mais on autorise
|
|
# l'origine locale par securite si un dev lance Angular separement.
|
|
spring.web.cors.allowed-origins=http://localhost:8080,http://localhost:4200
|
|
|
|
# Mode demo desactive (instance personnelle complete).
|
|
app.demo-mode=false
|
|
|
|
# --- Licensing / Patreon : desactive en mode bureau ------------------------
|
|
# Le gating par IMAGE Docker (canal beta tire d'un registry prive) n'a aucun
|
|
# sens hors Docker. On coupe toute la machinerie : daemon de refresh no-op,
|
|
# /api/license/* renvoie enabled=false, et l'UI masque la section Patreon.
|
|
# La distribution beta desktop se fait par installeur beta via Patreon, pas
|
|
# par une connexion in-app.
|
|
licensing.enabled=false
|
|
|
|
# --- Verification des mises a jour (bureau) --------------------------------
|
|
# Interroge l'API GitHub Releases (derniere release STABLE) au demarrage ; si
|
|
# une version plus recente existe, l'icone systray le signale (bulle + item
|
|
# « Telecharger »). Pas de mise a jour auto : l'utilisateur telecharge et lance
|
|
# le nouvel installeur. Mettre a false pour desactiver toute requete sortante.
|
|
desktop.update.enabled=${DESKTOP_UPDATE_CHECK:true}
|
|
desktop.update.releases-api-url=https://api.github.com/repos/IGMLcreation/LoreMind/releases/latest
|