Configuration du serveur¶
Configurez un Silex auto-hébergé avec des variables d'environnement.
Aperçu¶
Les variables d'environnement sont la façon supportée de configurer un Silex auto-hébergé — elles contrôlent les ports, les URL, les connecteurs, les limites et le SSL, et couvrent la grande majorité des cas. Commencez par là.
Pour ajouter des plugins d'éditeur GrapesJS, on ne touche pas à la config serveur — on utilise la config client.
Silex possède aussi une config serveur interne (le SaaS complet : dashboard, onboarding, et les connecteurs câblés depuis les variables ci-dessous). Elle est fournie avec Silex et chargée automatiquement — vous ne l'éditez pas.
Prérequis¶
- Un serveur Silex en cours d'exécution (Docker, Node ou auto-hébergé)
- Compréhension des connecteurs de stockage et d'hébergement
Variables d'environnement¶
Toutes les variables d'environnement sont optionnelles sauf SILEX_SESSION_SECRET (recommandé pour la sécurité).
Paramètres principaux du serveur¶
| Variable | Valeur par défaut | Rôle |
|---|---|---|
SILEX_PORT |
6805 | Port d'écoute du serveur |
SILEX_HOST |
localhost | Nom d'hôte (0.0.0.0 pour l'accès distant) |
SILEX_PROTOCOL |
http | http ou https (avant le reverse proxy) |
SILEX_URL |
${PROTOCOL}://${HOST}:${PORT} |
URL publique visitée par les utilisateurs |
SILEX_DEBUG |
false | true pour recharger le fichier de config client à chaque requête (dev seulement) |
SILEX_SESSION_NAME |
silex-session | Nom du cookie de session |
SILEX_SESSION_SECRET |
(aucune) | Clé aléatoire pour le chiffrement de session ; minimum 32 caractères |
Limites des requêtes Express¶
Pour les envois de fichiers volumineux ou les données :
| Variable | Valeur par défaut | Rôle |
|---|---|---|
SILEX_EXPRESS_JSON_LIMIT |
100mb | Taille maximale du corps JSON |
SILEX_EXPRESS_TEXT_LIMIT |
100mb | Taille maximale du corps texte |
SILEX_EXPRESS_URLENCODED_LIMIT |
100mb | Taille maximale du corps encodé en formulaire |
Les valeurs par défaut ci-dessus viennent du
.env.defaultfourni. L'image Docker les abaisse à1mb/10mb/1mb— augmentez-les là si vous envoyez de gros fichiers.
SSL/HTTPS¶
Pour le HTTPS sans reverse proxy :
| Variable | Valeur par défaut | Rôle |
|---|---|---|
SILEX_SSL_PORT |
(aucune) | Port HTTPS (par ex. 443) |
SILEX_SSL_PRIVATE_KEY |
(aucune) | Chemin vers le fichier de clé privée |
SILEX_SSL_CERTIFICATE |
(aucune) | Chemin vers le fichier de certificat |
SILEX_FORCE_HTTPS |
false | Rediriger HTTP vers HTTPS |
SILEX_FORCE_HTTPS_TRUST_XFP_HEADER |
false | Faire confiance à l'en-tête X-Forwarded-Proto du reverse proxy |
CORS et configuration client¶
| Variable | Valeur par défaut | Rôle |
|---|---|---|
SILEX_CORS_URL |
(aucune) | Autoriser les requêtes depuis cette origine (par ex. https://editor.example.com) |
SILEX_CLIENT_CONFIG |
(aucune) | Chemin vers un fichier de config client — voir Configuration client pour ajouter des plugins GrapesJS |
Connecteurs¶
| Variable | Valeur par défaut | Rôle |
|---|---|---|
STORAGE_CONNECTORS |
fs | Liste séparée par des virgules : gitlab. La valeur par défaut, fs, sert uniquement au développement |
HOSTING_CONNECTORS |
fs | Liste séparée par des virgules : gitlab. La valeur par défaut, fs, sert uniquement au développement |
SILEX_FS_ROOT |
<cwd>/silex/storage |
Chemin du connecteur de stockage fs (développement uniquement) |
SILEX_FS_HOSTING_ROOT |
<cwd>/silex/hosting |
Chemin du connecteur d'hébergement fs (développement uniquement) |
GITLAB_DISPLAY_NAME |
(aucune) | Nom d'affichage du connecteur GitLab principal |
GITLAB_DOMAIN |
(aucune) | Domaine de l'instance GitLab (ex : gitlab.com) |
GITLAB_CLIENT_ID |
(aucune) | ID de l'application OAuth pour GitLab |
GITLAB_CLIENT_SECRET |
(aucune) | Secret de l'application OAuth pour GitLab |
GITLAB2_DISPLAY_NAME |
(aucune) | Nom d'affichage d'un second connecteur GitLab |
GITLAB2_DOMAIN |
(aucune) | Domaine de la seconde instance GitLab |
GITLAB2_CLIENT_ID |
(aucune) | ID de l'application OAuth pour le second GitLab |
GITLAB2_CLIENT_SECRET |
(aucune) | Secret de l'application OAuth pour le second GitLab |
Voir Connecteurs de stockage et Connecteurs d'hébergement pour choisir les connecteurs et configurer l'OAuth GitLab.
Intégration NocoDB¶
Utilisé uniquement par le flux d'onboarding SaaS (
server/deploy) pour stocker les inscriptions. Inutile pour l'auto-hébergement — laissez vide et l'onboarding reste désactivé.
| Variable | Valeur par défaut | Rôle |
|---|---|---|
NOCO_URL |
(aucune) | URL de l'instance NocoDB |
NOCO_API_KEY |
(aucune) | Clé API NocoDB |
NOCO_TABLE |
(aucune) | Nom de la table NocoDB pour les métadonnées des sites |
Étendre le serveur¶
Les connecteurs et options ci-dessus se règlent par des variables d'environnement. Pour ajouter votre propre code serveur, faites pointer SILEX_SERVER_CONFIG vers un fichier JavaScript. Ce fichier est un plugin Silex : il peut ajouter des routes, des connecteurs, et réagir aux événements du serveur. Silex le charge en premier, puis sa propre config, server/deploy/.silex.js. Voir Utiliser des plugins et Créer des plugins.
Pour étendre l'éditeur (blocs, panneaux, plugins GrapesJS), utilisez la config client.
Dépannage¶
Les connecteurs ne se chargent pas¶
Vérifiez que les variables d'environnement sont définies :
Au démarrage, Silex journalise chaque connecteur ajouté (> Add storage connector from env var: …) — regardez les logs du serveur pour voir ce qui a réellement été chargé.
Voir aussi¶
- Configuration client — ajouter des plugins d'éditeur GrapesJS
- Connecteurs de stockage
- Connecteurs d'hébergement
- Comment fonctionne le CMS — Concepts du CMS