Variables d'environnement

Sovrium lit la configuration depuis les variables d'environnement au démarrage. Définissez-les dans un fichier .env ou dans votre environnement serveur. Toutes les variables sont optionnelles sauf mention contraire.

Terminal
# .env

# Application
APP_SCHEMA='app.yaml'

# Server
PORT=3000
BASE_URL=http://localhost:3000

# Database
DATABASE_URL=postgresql://user:password@localhost:5432/dbname

# 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 principal de fournir un schéma sans argument de fichier.

PropertyDescription
APP_SCHEMASchéma de l'application en JSON inline, YAML inline ou URL distante. Alternative au chemin de fichier en ligne de commande.

Serveur

Options réseau du serveur pour la commande start.

PropertyDescription
PORTNuméro de port du serveur (0–65535). 0 sélectionne un port disponible. Par défaut : 3000.
HOSTNAMENom d'hôte du serveur. Par défaut : localhost.
BASE_URLURL de base de l'application (ex. : https://myapp.com). Utilisée pour les callbacks d'authentification et les liens email.
NODE_ENVEnvironnement d'exécution. Mettre "production" pour les cookies sécurisés, les vérifications CSRF et la validation SMTP stricte. Par défaut : development.

Base de données

Paramètres de connexion PostgreSQL. Requis lors de l'utilisation de tables ou de l'authentification.

PropertyDescription
DATABASE_URLChaîne de connexion PostgreSQL (ex. : postgresql://user:password@localhost:5432/dbname). Requis quand le schéma définit des tables ou une authentification.

Authentification

Variables pour l'intégration Better Auth. Requises quand le schéma définit une section auth.

PropertyDescription
AUTH_SECRETClé secrète pour la signature des tokens et le chiffrement des sessions. Doit être une chaîne aléatoire forte (32+ caractères recommandés).

Utilisateur admin par défaut

Variables optionnelles pour créer un utilisateur admin par défaut au premier démarrage. Les trois doivent être définies pour que l'admin soit créé.

PropertyDescription
AUTH_ADMIN_EMAILAdresse email de l'utilisateur admin par défaut.
AUTH_ADMIN_PASSWORDMot de passe de l'utilisateur admin par défaut. Doit contenir au moins 8 caractères.
AUTH_ADMIN_NAMENom affiché de l'utilisateur admin par défaut. Optionnel, par défaut : "Admin".

Fournisseurs OAuth

Identifiants pour chaque fournisseur OAuth configuré dans le schéma auth. Remplacez {PROVIDER} par le nom du fournisseur en majuscules.

PropertyDescription
{PROVIDER}_CLIENT_IDIdentifiant client OAuth de la console développeur du fournisseur.
{PROVIDER}_CLIENT_SECRETSecret client OAuth de la console développeur du fournisseur. Gardez-le confidentiel.

Fournisseurs supportés

Sovrium supporte 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, utilise Mailpit sur localhost:1025 si SMTP_HOST n'est pas défini.

PropertyDescription
SMTP_HOSTNom d'hôte du serveur SMTP (ex. : smtp.gmail.com). Requis en production.
SMTP_PORTPort du serveur SMTP. Par défaut : 587.
SMTP_SECUREUtiliser une connexion SSL/TLS. Par défaut : false pour le port 587, true pour le port 465.
SMTP_USERNom d'utilisateur pour l'authentification SMTP.
SMTP_PASSMot de passe d'authentification SMTP ou mot de passe d'application.
SMTP_FROMAdresse email de l'expéditeur par défaut (ex. : noreply@votredomaine.com). Par défaut : noreply@sovrium.com.
SMTP_FROM_NAMENom d'affichage de l'expéditeur par défaut. Par défaut : Sovrium.

Développement local

Quand SMTP_HOST n'est pas configuré en mode développement, Sovrium utilise automatiquement Mailpit (localhost:1025). Installez Mailpit pour consulter les emails envoyés dans une interface web locale.

Build

Options pour la commande build qui génère un site statique.

PropertyDescription
SOVRIUM_OUTPUT_DIRRépertoire de sortie. Par défaut : ./dist.
SOVRIUM_BASE_URLURL de base pour le sitemap et les liens canoniques (ex. : https://example.com).
SOVRIUM_BASE_PATHPréfixe de chemin pour les déploiements en sous-répertoire (ex. : /my-app).
SOVRIUM_DEPLOYMENTCible de déploiement : github-pages ou generic.
SOVRIUM_LANGUAGESCodes de langue séparés par des virgules à construire (ex. : en,fr,de).
SOVRIUM_DEFAULT_LANGUAGECode de langue par défaut (ex. : en).
SOVRIUM_GENERATE_SITEMAPGénérer sitemap.xml. Par défaut : false.
SOVRIUM_GENERATE_ROBOTSGénérer robots.txt. Par défaut : false.
SOVRIUM_HYDRATIONActiver l'hydratation côté client. Par défaut : false.
SOVRIUM_GENERATE_MANIFESTGénérer manifest.json pour PWA. Par défaut : false.
SOVRIUM_BUNDLE_OPTIMIZATIONStratégie d'optimisation : split (découpage de code) ou none.
SOVRIUM_PUBLIC_DIRRépertoire contenant les ressources statiques à copier dans la sortie.

Débogage

Variables de diagnostic et de test. Non nécessaires en fonctionnement normal.

PropertyDescription
LOG_LEVELMettre "debug" pour la journalisation détaillée (logs de requêtes, diagnostics de compilation CSS). Par défaut : suit NODE_ENV.
EFFECT_DEVTOOLSMettre "1" pour activer l'intégration Effect DevTools pour l'inspection à l'exécution.
RATE_LIMIT_WINDOW_SECONDSFenêtre de limitation de débit en secondes. Utilisé dans les tests pour une exécution plus rapide. Par défaut : 60.