Fait avec Chinaski

Configuration

Chinaski se configure en deux couches : une poignée de variables d'environnement définies par instance (les réglages au niveau du déploiement) et la zone Settings dans l'interface d'administration (configuration au niveau du site, stockée dans la base de données). Cette page explique les six variables d'environnement principales et où appartient toute autre personnalisation.

Les six variables d'environnement principales

Par instance, elles vivent dans un fichier env verrouillé en permissions (/etc/chinaski<instance>/env, créé à l'installation). Les déploiements offline/hypnotoad les exportent directement.

Variable Ce qu'elle fait Ce qu'il faut savoir
CHINASKI_SECRET Signe les sessions admin et sert de clé pour le chiffrement des identifiants stockés Requis. Le serveur refuse de démarrer sans. Généré automatiquement à l'installation, affiché une fois, sauvegardé dans le fichier env. Unique par instance ; ne le changez jamais à la légère (voir Secrets)
CHINASKI_DB Où vit le fichier de base de données SQLite Normalement dérivé automatiquement du nom d'instance par l'unité systemd : laissez non défini
CHINASKI_OUTPUT Où les builds statiques sont écrits Même histoire : dérivé par instance par l'unité
LISTEN_URL L'adresse sur laquelle le serveur écoute Écoutez sur la loopback (motif http://127.0.0.1:3001) : le proxy fait face à internet, le CMS non. Écouter sur une interface publique annule la protection anti-usurpation d'IP du serveur pour la limitation de débit et les verrouillages
CHINASKI_WORKERS Nombre de workers du serveur Défaut 2. Passez à 4 sur des hôtes de 2 Go ou plus avec plusieurs éditeurs concurrents
MOJO_MODE Mode d'exécution Les déploiements de production définissent production (l'unité systemd le fait pour vous)

Note sur les deux variables d'écoute : CHINASKI_LISTEN est la valeur que le serveur intégré (offline/hypnotoad) lit directement ; défaut http://127.0.0.1:8080. LISTEN_URL est ce que l'unité systemd passe au démon en production. Dans un déploiement de production standard, définissez LISTEN_URL ; en mode offline, définissez CHINASKI_LISTEN (ou laissez-le à la config du hypnotoad fourni).

Les réglages que vous modifiez depuis l'interface admin

Tout le reste du comportement du site se trouve dans Settings, stocké dans la base de données (survit aux rebuilds, inclus dans les sauvegardes) :

  • Identité du site : nom, tagline, logo, jeu de favicons, liste de langues, mode d'URL
  • Champs SEO, défauts de sitemap, redirections, préfixes de permaliens
  • Email (SMTP), textes sécurité/cookies, clés de bot-check
  • Webhooks de build, auto-inscription, expiration des mots de passe, planification/rétention des sauvegardes
  • Design tokens, bascules PWA, Google Analytics/GTM, et ainsi de suite

Si ce que vous modifiez a un écran dans Settings, modifiez-le là ; les variables d'env sont au niveau du déploiement, pas du site.

Variables d'environnement au-delà des six principales

  • CHINASKI_AIRGAP=1: fait que l'installation prouve qu'elle n'appelle jamais l'extérieur : webhooks de build et de formulaire désactivés, vérification du bot-check désactivée, widget de vérification caché. Définissez-la avant de démarrer sur des hôtes isolés.
  • CHINASKI_TRUSTED_PROXIES: IPs ou plages IPv4 séparées par des virgules autorisées à transmettre les IPs des visiteurs (nécessaire seulement si votre proxy n'atteint pas le CMS depuis la loopback, configurations à la Docker).
  • CHINASKI_ALLOW_BUILD_FAIL=1: utilisée devant le script de déploiement pour pousser un correctif d'urgence limité au code même quand un build échoue.
  • Quelques autres existent dans le code pour la vérification de mise à jour, les chemins de docs personnalisés, et les clés de release ; elles sont reconnues mais ne sont pas couvertes comme réglages documentés dans cette version ; traitez tout ce qui n'est pas listé ici comme interne.

Où les changements prennent effet

  • Les changements de fichier env nécessitent un redémarrage (systemctl restart chinaski@<instance>) ; ils sont lus une fois au démarrage.
  • Les changements de réglages prennent effet immédiatement pour le CMS, et atteignent le site publié au prochain build.
  • Le secret maître affecte à la fois les connexions (toutes les sessions existantes meurent à la rotation) et les identifiants stockés : resauvegardez chaque identifiant d'intégration après une rotation (voir Secrets).

La version courte

Six variables d'env font tourner le processus (SECRET requise ; DB/OUTPUT auto-dérivées ; LISTEN_URL loopback uniquement ; MODE ; WORKERS) ; tout le reste dont un propriétaire de site a besoin vit dans Settings, et tout ce pour quoi vous vous surprenez à chercher une variable d'env au-delà de ces six est soit un drapeau d'opérateur depuis la page CLI/Server, soit quelque chose que le site de docs couvre là où il convient (airgap, proxies, scripts de déploiement).

Lisez ce site en