đ Configuration
Les options de dĂ©marrage se trouvent dans un fichier .env : ports, dossier de donnĂ©es, journalisation, sessions de connexion et quelques fonctionnalitĂ©s facultatives. Il se trouve Ă la racine du projet, ou Ă cĂŽtĂ© de docker-compose.yml avec Docker. Les options que vous modifiez depuis lâapplication relĂšvent des ParamĂštres globaux.
đ§ CrĂ©er le fichier .env
Dans le dossier du projet, copiez le fichier dâexemple, puis modifiez les valeurs dont vous avez besoin :
Avec lâimage Docker prĂ©construite, le guide Installation Docker tĂ©lĂ©charge le mĂȘme exemple sous le nom .env.
- LibreFolio lit
.envau dĂ©marrage : redĂ©marrez-le aprĂšs une modification. Avec Docker Compose, exĂ©cutezdocker compose up -d, cardocker compose restartconserve les anciennes valeurs. - Les noms sont sensibles Ă la casse. Dans les options principales et les paramĂštres de risque ci-dessous, une valeur du mauvais type ou hors limites arrĂȘte le serveur au dĂ©marrage avec une erreur.
âïž Options principales
| Variable | Défaut | Ce qu'il fait |
|---|---|---|
PORT |
6040 |
Port du serveur web. Avec Docker Compose, le port ouvert sur lâhĂŽte (le conteneur Ă©coute toujours sur 6040). |
TEST_PORT |
6041 |
Port du serveur de test (./dev.py server --test). |
LIBREFOLIO_DATA_DIR |
./backend/data/prod |
Dossier de la base de donnĂ©es, des tĂ©lĂ©versements, des rapports de courtier et des journauxâŻ; un chemin relatif part du dossier du projet. Docker le dĂ©finit Ă /app/backend/data/prod-docker : pour dĂ©placer les donnĂ©es sur lâhĂŽte, modifiez le cĂŽtĂ© gauche du volume ./LibreFolio-data dans docker-compose.yml. |
LOG_LEVEL |
INFO |
Niveau de détail des journaux du serveur : TRACE, DEBUG, INFO, WARNING, ERROR ou CRITICAL. |
JWT_SECRET |
non défini | Clé qui signe les sessions de connexion. Non définie : une nouvelle clé à chaque démarrage, donc tout le monde doit se reconnecter aprÚs un redémarrage. Voir Maintenir les utilisateurs connectés. |
SESSION_COOKIE_SECURE |
auto |
Quand le cookie de session de connexion est envoyé uniquement via HTTPS : auto (si le navigateur utilise HTTPS), always ou never. Voir HTTPS et proxies inverses. |
PREVIEW_CACHE_MAX_MB |
50 |
MĂ©moire, en Mo, du cache dâaperçu des images dans chaque processus serveur. |
Les anciens fichiers .env peuvent encore contenir PORTFOLIO_BASE_CURRENCYÂ : LibreFolio lâignore, et les nouveaux
utilisateurs partent de la Devise par défaut dans les ParamÚtres globaux.
đ HTTPS et proxies inverses â le cookie de session
auto(par dĂ©faut) :Securelorsque le navigateur a atteint LibreFolio via HTTPS. LibreFolio lui-mĂȘme sert du HTTP en clair, donc HTTPS provient dâun proxy inverse placĂ© devant lui, qui lâindique avec lâen-tĂȘteX-Forwarded-Proto: httpsâŻ; seule sa premiĂšre valeur compte. Il nây a pas de liste de proxies de confiance Ă configurer : lâen-tĂȘte peut uniquement activerSecure, jamais le dĂ©sactiver. En HTTP en clair, commehttp://localhost:6040, une IP de rĂ©seau local ou lâIP Tailscale des niveaux 1 et 2 dans Exposition sĂ©curisĂ©e, le cookie nâest pasSecure, donc la connexion continue de fonctionner.always : toujoursSecure, pour une installation accessible uniquement via HTTPS. En HTTP en clair, le navigateur abandonne le cookie, donc la connexion ne persiste pas : la page suivante renvoie lâutilisateur vers la page de connexion.never : jamaisSecure. Câest la solution de secours lorsquâun proxy envoieX-Forwarded-Proto: httpsĂ un navigateur qui utilise en rĂ©alitĂ© du HTTP en clair, comme Nginx avec unproxy_set_header X-Forwarded-Proto https;codĂ© en dur dans un blocserveren HTTP en clair : enauto, ce navigateur serait renvoyĂ© vers la page de connexion aprĂšs chaque connexion. Mieux vaut corriger le proxy ($schemeau lieu dehttps)âŻ;neverest le fallback.
DerriĂšre un proxy inverse HTTPS, auto sâappuie sur son en-tĂȘte X-Forwarded-Proto :
- Tailscale Serve et Funnel (niveaux 3 et 4 dans Exposition sĂ©curisĂ©e), Caddy et Traefik lâenvoient dâeux-mĂȘmes : rien Ă configurer.
- Nginx ne le fait pas : ajoutez
proxy_set_header X-Forwarded-Proto $scheme;au bloclocationqui fait proxy vers LibreFolio. - Tout autre proxy : faites-lui envoyer lâen-tĂȘte ou, si LibreFolio nâest accessible quâĂ travers lui,
définissez
SESSION_COOKIE_SECURE=always.
Pour vérifier dans votre navigateur si le cookie de session est marqué Secure, voir
Vérifier la sécurité de la connexion.
đ§ź Workers du moteur de risque â rĂ©glage avancĂ©
Les simulations de risque et les optimisations de portefeuille sâexĂ©cutent dans des processus workers sĂ©parĂ©s, dĂ©marrĂ©s Ă
la premiÚre utilisation. Les valeurs par défaut conviennent à la plupart des installations : ajoutez une variable à .env uniquement pour modifier ce réglage.
| Variable | Défaut | Ce qu'il fait |
|---|---|---|
RISK_SIMULATION_WORKERS, RISK_OPTIMIZATION_WORKERS |
1 (1â8) |
Processus workers par type de tĂąche : plus ils sont nombreux, plus de tĂąches sâexĂ©cutent en mĂȘme temps. |
RISK_SIMULATION_QUEUE_CAPACITY, RISK_OPTIMIZATION_QUEUE_CAPACITY |
2 (0â64) |
TĂąches pouvant attendre un workerâŻ; au-delĂ , les nouvelles requĂȘtes sont refusĂ©es. |
RISK_SIMULATION_TIMEOUT_SECONDS, RISK_OPTIMIZATION_TIMEOUT_SECONDS |
120 / 60 |
Limite de temps dâune tĂąche, en secondes. |
RISK_SIMULATION_IDLE_TIMEOUT_SECONDS, RISK_OPTIMIZATION_IDLE_TIMEOUT_SECONDS |
600 |
Les workers inactifs sâarrĂȘtent aprĂšs ce nombre de secondes et redĂ©marrent Ă la tĂąche suivanteâŻ; 0 les maintient en fonctionnement. |
đ» ParamĂštres dĂ©finis par les outils
./dev.py et Docker Compose les définissent pour vous : ne les modifiez que si vous savez pourquoi.
| Variable | Défaut | Ce qu'il fait |
|---|---|---|
HOST |
0.0.0.0 |
Adresse sur laquelle ./dev.py server Ă©couteâŻ; 127.0.0.1 accepte uniquement les connexions locales. Docker Compose utilise toujours 0.0.0.0. |
LIBREFOLIO_LOG_LEVEL |
â | Remplace LOG_LEVEL lorsquâil est dĂ©finiâŻ; ./dev.py server --debug le dĂ©finit Ă DEBUG. |
LIBREFOLIO_TEST_MODE |
â | 1, true ou yes bascule vers le dossier de donnĂ©es de test. DĂ©fini par ./dev.py server --test et les lanceurs de tests. |
LIBREFOLIO_TEST_DATA_DIR |
./backend/data/test |
Dossier des donnĂ©es de testâŻ; il ne doit pas chevaucher celui de production. |
đ Facultatif : recherche web pour les nouveaux actifs
Lorsque vous crĂ©ez un actif, y compris depuis lâassistant dâimportation de courtier, et que la recherche propre dâun fournisseur ne trouve
rien, LibreFolio peut trouver la page de lâactif par une recherche web via la
bibliothĂšque ddgs. Elle est activĂ©e par dĂ©faut et nâest jamais utilisĂ©e pour les mises Ă jour de prix.
Toutes ces variables sont facultatives : décommentez une ligne de .env.example pour en modifier une.
| Variable | Défaut | Ce qu'il fait |
|---|---|---|
LIBREFOLIO_WEB_LINK_FINDER_ENABLED |
1 |
0 dĂ©sactive la recherche webâŻ; la recherche propre des fournisseurs continue de fonctionner. |
LIBREFOLIO_WEB_LINK_FINDER_ENGINE |
ddgs |
ddgs ne nécessite aucune configuration. apikey est réservé à un service de recherche payant et ne renvoie encore aucun résultat. |
LIBREFOLIO_WEB_LINK_FINDER_DDGS_REGION |
wt-wt |
Région de recherche. wt-wt (monde entier) évite que les sites nationaux tels que Borsa Italiana soient rétrogradés. Exemples : it-it, us-en. |
LIBREFOLIO_WEB_LINK_FINDER_DDGS_BACKEND |
auto |
Moteurs que ddgs interroge : auto les fait tourner pour une couverture maximaleâŻ; une liste comme google,bing,duckduckgo donne des rĂ©sultats plus stables. |
LIBREFOLIO_WEB_LINK_FINDER_TIMEOUT |
6 |
Limite de temps dâune recherche, en secondes. |
LIBREFOLIO_WEB_LINK_FINDER_MAX |
5 |
Nombre maximal de liens renvoyés par une recherche. |
LIBREFOLIO_WEB_LINK_FINDER_API_KEY |
vide | Clé pour le moteur apikey. |
đ Les rĂ©sultats changent dâune tentative Ă lâautre â quand un actif connu nâest parfois pas trouvĂ©
Avec auto, chaque recherche peut atteindre diffĂ©rents moteurs, donc la mĂȘme requĂȘte peut donner de meilleurs ou de moins bons rĂ©sultats
dâun essai Ă lâautre. RĂ©essayez une fois, ou dĂ©finissez
LIBREFOLIO_WEB_LINK_FINDER_DDGS_BACKEND=google,bing,duckduckgo.
đ Quelle valeur lâemporte
De la priorité la plus élevée à la plus faible :
- Les options
--host,--portet--data-dirde./dev.py server. - Les variables définies dans le shell.
- Le fichier
.env. - Les valeurs par défaut listées sur cette page.
Avec Docker Compose, le bloc environment: de docker-compose.yml lâemporte sur .env : il dĂ©finit
HOST et LIBREFOLIO_DATA_DIR. Voir Docker avancé.
đ OĂč vont les donnĂ©es
- Production :
backend/data/prod/, ouLIBREFOLIO_DATA_DIR. Ce dossier contient la base de données (sqlite/app.db),custom-uploads/,broker_reports/etlogs/. - Test :
backend/data/test/, ouLIBREFOLIO_TEST_DATA_DIR. MĂȘme organisation, tenue Ă part.
Structure du systÚme de fichiers détaille chaque dossier et comment le sauvegarder.
đ Voir aussi
- âïž ParamĂštres globaux â Options modifiĂ©es depuis lâapplication
- đł Docker avancĂ© â Fichier Compose, volumes, ID dâutilisateur et de groupe
- đ§âđ» Pour les dĂ©veloppeurs : SystĂšme de paramĂštres â Comment ces valeurs sont chargĂ©es