Variables d’environnement
DocPlatform lit sa configuration depuis les variables d’environnement. Définissez-les dans votre shell, un fichier .env dans le répertoire de travail ou votre orchestrateur de conteneurs.
Serveur
| Variable | Par défaut | Description |
|---|---|---|
PORT |
3000 |
Port d’écoute HTTP |
HOST |
0.0.0.0 |
Adresse d’écoute HTTP. Définissez à 127.0.0.1 pour restreindre à localhost. |
DATA_DIR |
.docplatform |
Répertoire racine pour toutes les données DocPlatform (base de données, sauvegardes, espaces de travail, clés) |
BASE_DOMAIN |
— | Domaine personnalisé pour la documentation publiée (par ex. docs.yourcompany.com). Lorsque défini, la documentation publiée utilise ce domaine pour les URLs canoniques et les entrées du sitemap. |
PUBLISH_REQUIRE_AUTH |
false |
Lorsque true, tous les sites de documentation publiée exigent que le visiteur soit connecté en tant que membre de l’espace de travail. Les visiteurs non authentifiés sont redirigés vers la page de connexion puis renvoyés vers la page d’origine après connexion. |
Authentification
| Variable | Par défaut | Description |
|---|---|---|
JWT_SECRET_PATH |
{DATA_DIR}/jwt-key.pem |
Chemin vers la clé privée RS256 pour la signature JWT. Générée automatiquement au premier lancement si absente. |
JWT_ACCESS_TTL |
900 |
Durée de vie du token d’accès en secondes (par défaut : 15 minutes) |
JWT_REFRESH_TTL |
2592000 |
Durée de vie du token de rafraîchissement en secondes (par défaut : 30 jours) |
Fournisseurs OIDC (optionnel)
Activez la connexion Google et/ou GitHub en définissant ces variables. Lorsqu’elles ne sont pas définies, seule l’authentification locale (e-mail + mot de passe) est disponible.
| Variable | Par défaut | Description |
|---|---|---|
OIDC_GOOGLE_CLIENT_ID |
— | Identifiant client OAuth 2.0 Google |
OIDC_GOOGLE_CLIENT_SECRET |
— | Secret client OAuth 2.0 Google |
OIDC_GITHUB_CLIENT_ID |
— | Identifiant client OAuth GitHub |
OIDC_GITHUB_CLIENT_SECRET |
— | Secret client OAuth GitHub |
Consultez Authentification pour les instructions de configuration.
Git
| Variable | Par défaut | Description |
|---|---|---|
GIT_SSH_KEY_PATH |
~/.ssh/docplatform_deploy_key |
Chemin vers la clé privée SSH pour les opérations git. Requis pour les dépôts privés via SSH. |
GIT_SYNC_INTERVAL |
300 |
Intervalle de polling par défaut en secondes pour la synchronisation distante (minimum : 10). Supplanté par le sync_interval par espace de travail. Définissez à 0 pour une synchronisation uniquement par webhook (pas de polling). |
GIT_AUTO_COMMIT |
true |
Comportement d’auto-commit par défaut. Supplanté par le git_auto_commit par espace de travail. |
GIT_WEBHOOK_SECRET |
— | Secret partagé pour vérifier les payloads webhook (HMAC-SHA256) depuis GitHub, GitLab ou Bitbucket. |
GIT_COMMIT_NAME |
DocPlatform |
Nom du committer git pour les auto-commits |
GIT_COMMIT_EMAIL |
docplatform@local |
E-mail du committer git pour les auto-commits |
E-mail (optionnel)
Configurez SMTP pour les invitations à l’espace de travail et les e-mails de réinitialisation de mot de passe. Sans SMTP, les tokens sont affichés sur stdout (journaux du serveur).
| Variable | Par défaut | Description |
|---|---|---|
SMTP_HOST |
— | Nom d’hôte du serveur SMTP (par ex. smtp.gmail.com) |
SMTP_PORT |
587 |
Port SMTP (587 pour STARTTLS, 465 pour SSL) |
SMTP_FROM |
— | Adresse e-mail de l’expéditeur (par ex. [email protected]) |
SMTP_USERNAME |
— | Nom d’utilisateur pour l’authentification SMTP |
SMTP_PASSWORD |
— | Mot de passe pour l’authentification SMTP |
Sauvegardes
| Variable | Par défaut | Description |
|---|---|---|
BACKUP_ENABLED |
true |
Activer les sauvegardes SQLite quotidiennes automatisées |
BACKUP_RETENTION_DAYS |
7 |
Nombre de jours de rétention des fichiers de sauvegarde. Les sauvegardes plus anciennes sont supprimées automatiquement. |
BACKUP_DIR |
{DATA_DIR}/backups |
Répertoire pour les fichiers de sauvegarde |
Télémétrie
| Variable | Par défaut | Description |
|---|---|---|
DOCPLATFORM_TELEMETRY |
off |
Définissez à on pour activer les métriques d’utilisation anonymes et optionnelles. Lorsque activé, un identifiant d’installation SHA-256 (aucune information personnellement identifiable) est envoyé chaque semaine. |
DOCPLATFORM_TELEMETRY_ENDPOINT |
— | Point de terminaison personnalisé pour les données de télémétrie (avancé — pour les environnements isolés avec des analyses internes) |
Ce que la télémétrie envoie (lorsqu’elle est activée)
- Identifiant d’installation SHA-256 (dérivé du répertoire de données, non réversible)
- Nombre d’espaces de travail et nombre total de pages
- Version de DocPlatform
- OS et architecture
La télémétrie n’envoie jamais : le contenu des pages, les e-mails des utilisateurs, les adresses IP, les noms de fichiers ou toute information personnellement identifiable. Fréquence : hebdomadaire.
Gestion du frontmatter
| Variable | Par défaut | Description |
|---|---|---|
FRONTMATTER_ERROR_MODE |
strict |
Comment gérer un frontmatter YAML invalide : strict restreint la page à un accès admin uniquement (empêche l’exposition accidentelle) ; lenient conserve le dernier frontmatter valide connu et affiche un avertissement. |
Utiliser un fichier .env
Créez un fichier .env dans le répertoire où vous exécutez docplatform serve :
# .env
PORT=8080
DATA_DIR=/var/lib/docplatform
GIT_SSH_KEY_PATH=/etc/docplatform/deploy_key
SMTP_HOST=smtp.example.com
SMTP_PORT=587
SMTP_FROM=[email protected]
SMTP_USERNAME=[email protected]
SMTP_PASSWORD=app-specific-password
BACKUP_RETENTION_DAYS=30
DocPlatform charge le fichier .env automatiquement. Les variables d’environnement définies dans le shell ont priorité sur les valeurs du .env.
Environnement Docker
Passez les variables d’environnement à Docker avec les flags -e ou un fichier env :
docker run -d \
--name docplatform \
-p 3000:3000 \
-v docplatform-data:/data \
-e DATA_DIR=/data \
-e SMTP_HOST=smtp.example.com \
-e SMTP_FROM=[email protected] \
--env-file .env.production \
ghcr.io/valoryx-org/docplatform:latest
Notes de sécurité
- Ne commitez jamais les fichiers
.envdans le contrôle de version. Ajoutez.envà votre.gitignore. - Les clés JWT sont générées automatiquement. Si vous devez effectuer une rotation, supprimez le fichier de clé et redémarrez — une nouvelle clé est générée et toutes les sessions existantes sont invalidées.
- Mots de passe SMTP — utilisez des mots de passe d’application ou des clés API, pas le mot de passe principal de votre compte.
- Tokens git — utilisez des tokens limités au dépôt avec des permissions minimales (lecture + écriture pour la synchronisation).