Configuration#

Seurch est entièrement configuré via des variables d’environnement (en production) ou un fichier .env (en développement). Le dépôt inclut un fichier .env.example documentant chaque variable ; cette page en est la référence.

Noyau#

VariableRôleNotes
SECRET_KEYClé secrète DjangoRequise en production. Longue et aléatoire.
DEBUGMode débogageMaintenez False (la valeur par défaut) en production.
ALLOWED_HOSTSNoms d’hôtes séparés par des virgules que l’application serviraex. search.example.com.
DATABASE_URLURL de connexion PostgreSQLex. postgres://utilisateur:mdp@hôte:5432/seurch.
LOG_LEVELVerbosité des logsDEBUG / INFO / WARNING / ERROR (par défaut INFO).
LOG_SEARCH_QUERIESJournaliser le texte brut des requêtesSuit DEBUG, donc désactivé en production. Les requêtes sont des données personnelles et les logs de conteneurs sont conservés ; désactivé, chaque ligne de log de fournisseur ne porte que la longueur de la requête.

Fournisseurs de recherche#

Ces clés déterminent quels moteurs, onglets de médias et fiches de connaissance sont disponibles. Un fournisseur sans clé est simplement masqué (pas affiché comme cassé). Détails complets dans Fournisseurs de recherche.

VariableActive
BRAVE_API_KEYWeb, Images, Actualités et Vidéos via Brave (la base).
BRAVE_SUGGEST_API_KEYSuggestions de complétion automatique (un abonnement Brave séparé).
MOJEEK_API_KEYLe moteur web Mojeek.
MARGINALIA_API_KEYLe moteur web Marginalia (public fonctionne d’emblée).
STAAN_API_KEYLe moteur web Staan (index européen, résultats web uniquement).
THETVDB_API_KEYLa fiche de connaissance film / série (TheTVDB v4).
THETVDB_PINCode PIN d’abonné, uniquement pour une clé TheTVDB financée par les utilisateurs.
TRIPADVISOR_API_KEYLa fiche de connaissance lieux.
STACKEXCHANGE_API_KEYUn quota Stack Exchange plus élevé pour la fiche Q&A (optionnel).
PIXABAY_API_KEYImages Pixabay mélangées dans l’onglet Images.
WORLDNEWS_API_KEYArticles de l’API World News mélangés dans l’onglet Actualités.

Le badge « Payant »#

PAID_PROVIDERS détermine quels fournisseurs Paramètres → Moteurs signale d’un badge Payant, afin qu’un utilisateur voie lesquels sont des API commerciales facturées à l’usage avant de les activer. Non défini, la liste interne de l’application s’applique (Brave, Mojeek, Staan, World News) ; renseignez une liste de clés de fournisseurs séparées par des virgules si votre instance est sur d’autres forfaits :

PAID_PROVIDERS=brave,mojeek,staan,worldnews

Les noms qui ne sont pas des clés de fournisseurs sont ignorés : PAID_PROVIDERS=none ne badge donc rien. Le badge n’est qu’une étiquette, il ne change jamais ce qu’un utilisateur peut activer.

Traduction#

VariableRôle
LIBRETRANSLATE_URLURL de votre instance LibreTranslate. Non défini désactive entièrement l’onglet Traduction.
LIBRETRANSLATE_API_KEYUniquement si votre LibreTranslate nécessite une clé (LT_API_KEYS=true).
LIBRETRANSLATE_ORIGIN_COUNTRYCode pays à deux lettres pour le drapeau affiché à côté de « Traduction » dans Paramètres (par défaut fr).

Voir Traduction.

Statut des fournisseurs et supervision#

Si cette instance publie la santé des fournisseurs, et ce qu’un service de supervision externe peut interroger. Détails complets dans Supervision.

VariableRôlePar défaut
STATUS_PAGE_ENABLEDPublier la page /status, et le point de terminaison status/ de l’API qui sert les mêmes données. Désactivez-le pour garder pour vous quels fournisseurs vous utilisez et quand ils échouent.true
STATUS_MONITOR_ENABLEDServir /status/health et /status/health/<fournisseur>, les points de terminaison 200-ou-500 qu’interroge un moniteur.true
STATUS_MONITOR_TOKENSecret partagé exigé par ces points de terminaison (?token=, X-Monitor-Token, ou Authorization: Bearer).(vide, ouvert)
STATUS_MONITOR_PROVIDERSFournisseurs surveillés par l’agrégat /status/health : identifiants de fournisseurs et/ou clés de groupe engine, media, cards, instant, maps, translate.(vide, tous les fournisseurs configurés)

Les deux sont indépendants : la supervision continue de fonctionner page désactivée, et c’est tout l’intérêt, une instance qui ne publie pas la page doit quand même pouvoir être supervisée.

STATUS_PAGE_ENABLED=false
STATUS_MONITOR_PROVIDERS=engine
STATUS_MONITOR_TOKEN=une-longue-chaine-aleatoire

Limites de débit de l’API publique#

Appliquées par clé API (taux de limitation Django REST Framework, <nombre>/<période>, où la période est second / minute / hour / day). Les deux limites s’appliquent ensemble. Voir la page Limites de débit de l’API.

VariableRôlePar défaut
API_THROTTLE_BURSTPlafond à court terme, protège les fournisseurs amont d’un client incontrôlé60/min
API_THROTTLE_SUSTAINEDPlafond de volume quotidien5000/day

E-mail (réinitialisation du mot de passe)#

Utilisé uniquement pour envoyer des messages de réinitialisation de mot de passe, voir Utilisateurs et accès.

VariableRôle
EMAIL_BACKENDBackend e-mail Django (SMTP, console, …).
EMAIL_HOST / EMAIL_PORTServeur SMTP.
EMAIL_USE_TLSTrue / False.
EMAIL_HOST_USER / EMAIL_HOST_PASSWORDIdentifiants SMTP.
DEFAULT_FROM_EMAILL’adresse « De » sur les e-mails sortants.

Pour un test rapide sans vrai serveur SMTP, définissez EMAIL_BACKEND=django.core.mail.backends.console.EmailBackend pour afficher les e-mails dans le log du conteneur.

Liens de pied de page#

Le pied de page n’inclut aucune politique de confidentialité, conditions d’utilisation ou mentions légales par défaut ; ce contenu est spécifique à l’opérateur de l’instance et à votre juridiction. Ajoutez les vôtres sous forme de paires Libellé=URL séparées par des virgules :

FOOTER_LINKS=Confidentialité=https://example.com/privacy,Mentions légales=https://example.com/legal

Laissez FOOTER_LINKS non défini pour n’afficher aucun lien supplémentaire en pied de page.

Lien vers les sources et informations de build#

VariableRôle
SOURCE_URLDépôt vers lequel pointe le lien Source du pied de page. Faites-le pointer vers votre propre fork si vous exécutez une version modifiée.
GIT_REFBranche ou tag Git affiché à côté du copyright dans le pied de page.
GIT_SHAHash du commit affiché à côté du copyright, pour retracer un déploiement jusqu’au build exact.

L’image Docker définit GIT_REF et GIT_SHA automatiquement au moment du build ; ne les renseignez à la main que pour d’autres méthodes de déploiement.