Variables d'environnement
Sovrium lit la configuration à partir des variables d'environnement au démarrage. Définissez-les dans un fichier .env ou dans l'environnement de votre serveur. Toutes les variables sont optionnelles sauf indication contraire.
# .env
# Application
APP_SCHEMA='app.yaml'
# Server
PORT=3000
BASE_URL=http://localhost:3000
# Database (optional — defaults to embedded SQLite)
DATABASE_URL=file:./data/app.db
# Authentication
AUTH_SECRET=your-secret-key-here
# Default Admin
AUTH_ADMIN_EMAIL=admin@example.com
AUTH_ADMIN_PASSWORD=secure-admin-password
# OAuth (Google example)
GOOGLE_CLIENT_ID=your-client-id
GOOGLE_CLIENT_SECRET=your-client-secret
# Email (SMTP)
SMTP_HOST=smtp.gmail.com
SMTP_PORT=587
SMTP_USER=your-email@gmail.com
SMTP_PASS=your-app-password
Application
Configuration principale de l'application. APP_SCHEMA est le moyen privilégié de fournir un schéma sans argument de fichier.
| Variable | Description |
|---|---|
APP_SCHEMA |
Schéma de l'application sous forme de JSON en ligne, de YAML en ligne ou d'URL distante. Alternative au passage d'un chemin de fichier en ligne de commande. |
Serveur
Options réseau du serveur pour la commande start.
| Variable | Description |
|---|---|
PORT |
Numéro de port du serveur (0–65535). 0 sélectionne un port disponible. Par défaut : 3000. |
HOSTNAME |
Nom d'hôte du serveur. Par défaut : localhost. |
BASE_URL |
URL de base de l'application (par ex. https://myapp.com). Utilisée pour les URL de rappel d'authentification et les liens d'email. |
NODE_ENV |
Environnement d'exécution. Définissez à "production" pour des cookies sécurisés, des vérifications CSRF et une validation SMTP stricte. Par défaut : development. |
Base de données
Paramètres de connexion à la base de données. Optionnel — Sovrium utilise par défaut SQLite embarqué lorsqu'il n'est pas défini.
| Variable | Description |
|---|---|
DATABASE_URL |
Chaîne de connexion à la base de données. Optionnel : non défini, utilise SQLite embarqué ; une URL file: (par ex. file:./data/app.db) choisit le fichier SQLite ; une URL postgresql:// (par ex. postgresql://user:password@localhost:5432/dbname) bascule vers PostgreSQL. |
Authentification
Variables pour l'intégration de Better Auth. Requises lorsque le schéma définit une section auth.
| Variable | Description |
|---|---|
AUTH_SECRET |
Clé secrète pour signer les jetons et chiffrer les sessions. Doit être une chaîne aléatoire robuste (32 caractères ou plus recommandés). |
Utilisateur administrateur par défaut
Variables optionnelles pour créer un utilisateur administrateur par défaut au premier démarrage. Les trois doivent être définies pour que l'utilisateur administrateur soit créé.
| Variable | Description |
|---|---|
AUTH_ADMIN_EMAIL |
Adresse email de l'utilisateur administrateur par défaut. |
AUTH_ADMIN_PASSWORD |
Mot de passe de l'utilisateur administrateur par défaut. Doit comporter au moins 8 caractères. |
AUTH_ADMIN_NAME |
Nom d'affichage de l'utilisateur administrateur par défaut. Optionnel, par défaut "Admin". |
Fournisseurs OAuth
Identifiants pour chaque fournisseur OAuth configuré dans le schéma d'authentification. Remplacez {PROVIDER} par le nom du fournisseur en majuscules.
| Variable | Description |
|---|---|
{PROVIDER}_CLIENT_ID |
Identifiant client OAuth issu de la console développeur du fournisseur. |
{PROVIDER}_CLIENT_SECRET |
Secret client OAuth issu de la console développeur du fournisseur. À garder confidentiel. |
Fournisseurs pris en charge. Sovrium prend en charge Google, GitHub, Microsoft, Slack, GitLab et Facebook. Par exemple, définissez GOOGLE_CLIENT_ID et GOOGLE_CLIENT_SECRET pour Google OAuth.
Email (SMTP)
Configuration SMTP pour l'envoi d'emails d'authentification (vérification, réinitialisation de mot de passe, lien magique). En développement, bascule sur Mailpit à localhost:1025 si SMTP_HOST n'est pas défini.
| Variable | Description |
|---|---|
SMTP_HOST |
Nom d'hôte du serveur SMTP (par ex. smtp.gmail.com). Requis en production. |
SMTP_PORT |
Port du serveur SMTP. Par défaut : 587. |
SMTP_SECURE |
Utiliser une connexion SSL/TLS. Par défaut : false pour le port 587, true pour le port 465. |
SMTP_USER |
Nom d'utilisateur d'authentification SMTP. |
SMTP_PASS |
Mot de passe d'authentification SMTP ou mot de passe spécifique à l'application. |
SMTP_FROM |
Adresse email d'expéditeur par défaut (par ex. noreply@yourdomain.com). Par défaut : noreply@sovrium.com. |
SMTP_FROM_NAME |
Nom d'affichage de l'expéditeur par défaut. Par défaut : Sovrium. |
Développement local. Lorsque SMTP_HOST n'est pas configuré en mode développement, Sovrium bascule automatiquement sur Mailpit (localhost:1025). Installez Mailpit pour visualiser les emails envoyés dans une interface web locale.
Build
Options pour la commande build qui génère un site statique.
| Variable | Description |
|---|---|
SOVRIUM_OUTPUT_DIR |
Répertoire de sortie. Par défaut : ./dist. |
SOVRIUM_BASE_URL |
URL de base pour la génération du sitemap et les liens canoniques (par ex. https://example.com). |
SOVRIUM_BASE_PATH |
Préfixe de chemin pour les déploiements en sous-répertoire (par ex. /my-app). |
SOVRIUM_DEPLOYMENT |
Cible de déploiement : github-pages ou generic. |
SOVRIUM_LANGUAGES |
Codes de langue séparés par des virgules à générer (par ex. en,fr,de). |
SOVRIUM_DEFAULT_LANGUAGE |
Code de langue par défaut (par ex. en). |
SOVRIUM_GENERATE_SITEMAP |
Génère sitemap.xml. Par défaut : false. |
SOVRIUM_GENERATE_ROBOTS |
Génère robots.txt. Par défaut : false. |
SOVRIUM_HYDRATION |
Active l'hydratation côté client. Par défaut : false. |
SOVRIUM_GENERATE_MANIFEST |
Génère manifest.json pour les PWA. Par défaut : false. |
SOVRIUM_BUNDLE_OPTIMIZATION |
Stratégie d'optimisation : split (découpage du code) ou none. |
SOVRIUM_PUBLIC_DIR |
Répertoire contenant les ressources statiques à copier dans la sortie. |
Débogage
Variables de diagnostic et de test. Non nécessaires en fonctionnement normal.
| Variable | Description |
|---|---|
LOG_LEVEL |
Définissez à "debug" pour une journalisation détaillée (journaux de requêtes, diagnostics de compilation CSS). Par défaut : suit NODE_ENV. |
EFFECT_DEVTOOLS |
Définissez à "1" pour activer l'intégration des Effect DevTools pour l'inspection à l'exécution. |
RATE_LIMIT_WINDOW_SECONDS |
Fenêtre de limitation de débit en secondes. Utilisée dans les tests pour une exécution plus rapide. Par défaut : 60. |