Aller au contenu

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

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 Mettre à true pour les journaux détaillés et le rechargement de la configuration
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.default fourni. 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 ftp Liste séparée par des virgules : fs, gitlab, ftp
HOSTING_CONNECTORS ftp,download Liste séparée par des virgules : fs, gitlab, ftp, download
SILEX_FS_ROOT <cwd>/silex/storage Chemin du connecteur de stockage fs
SILEX_FS_HOSTING_ROOT <cwd>/silex/hosting Chemin du connecteur d'hébergement fs
FTP_STORAGE_PATH (aucune) Chemin racine sur le serveur FTP pour le stockage
FTP_HOSTING_PATH (aucune) Chemin racine sur le serveur FTP pour l'hébergement
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 sont entièrement pilotés par des variables d'environnement — c'est la façon supportée de configurer une instance.

Il n'y a aucun moyen supporté d'injecter du code ou des connecteurs côté serveur dans une instance Docker ou from-source. Un tel code devrait faire un require() sur les internes de Silex sous dist/…, qui ne sont pas une API publique et changent d'une version à l'autre. (Le package npm @silexlabs/silex qui rendait cela possible est en cours de retrait au profit de l'image Docker et des builds from-source.)

Si les connecteurs intégrés et les variables d'environnement ne couvrent pas votre besoin :

  • Pour étendre l'éditeur — blocs, panneaux, plugins GrapesJS — utilisez la config client.
  • Pour un nouveau connecteur de stockage/hébergement ou un comportement serveur, ouvrez une issue ou lancez une discussion. Les nouveaux connecteurs sont ajoutés à Silex lui-même pour que tout le monde en profite.

Dépannage

Les connecteurs ne se chargent pas

Vérifiez que les variables d'environnement sont définies :

env | grep -E 'STORAGE_CONNECTORS|HOSTING_CONNECTORS|GITLAB|FTP'

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

Éditer cette page sur GitLab