Dépannage : démarrage et configuration
Les erreurs que tu risques le plus de rencontrer entre le moment où tu tapes sovrium start et celui où une URL s'affiche. Chaque entrée cite le message réel, pour que tu puisses le retrouver dans ton terminal.
Bloqué sur une configuration ? Lance d'abord sovrium validate <config> : la commande vérifie le fichier seul et n'exige rien d'autre en fonctionnement.
Le serveur a démarré sur un autre port
[SERVER] Port 3000 in use; using an OS-assigned port (see URL below).Un autre processus occupe le port : Sovrium en prend un libre au lieu d'échouer. Lis l'URL dans la bannière de démarrage, ou choisis toi-même un port :
PORT=4000 sovrium start app.yamlUn PORT hors limites est rejeté directement :
Error: Invalid port number "99999". Must be between 0 and 65535 (0 = auto-select).« Server already running »
Error: Server already running (PID: 12345, port: 3000)Une instance tourne déjà — Sovrium la suit avec un fichier de verrou. Arrête-la avec sovrium stop.
Un verrou laissé par un processus planté (son PID a disparu) est détecté et supprimé automatiquement : ce message ne t'arrête donc que si une instance tourne réellement.
« Unsupported DATABASE_URL scheme »
Unsupported DATABASE_URL scheme: "./data/app.db". Use postgres://, postgresql://,
file:, sqlite:, or :memory:. A bare filesystem path is not accepted — prefix it
with file: (e.g. file:./database.db).DATABASE_URL vaut quelque chose de non reconnu — un simple chemin de fichier est l'erreur classique. Trois bonnes réponses :
- Laisse
DATABASE_URLvide. Sovrium utilise une base SQLite embarquée, sans serveur à installer. - Pointe vers un fichier SQLite avec le préfixe
file:—file:./database.db. - Utilise PostgreSQL avec une URL complète —
postgres://user:password@localhost:5432/app.
SQLite est le choix par défaut, sans configuration. Sans DATABASE_URL, les tables et l'authentification fonctionnent d'emblée sur un fichier local. Ne définis la variable que pour choisir l'emplacement de ce fichier ou passer à PostgreSQL. Voir Infrastructure de base de données.
« Sovrium refused this configuration » / « Error: Validation failed. »
Chaque démarrage — et chaque sovrium validate et sovrium build — décode ta configuration face au même schéma. validate affiche le constat sous Error: Validation failed. ; start et build affichent le même constat sous une ligne qui nomme ce qui n'a pas eu lieu :
Error: Sovrium refused this configuration — nothing was started.
Unknown property 'tag' on component type 'text'
at pages[0].components[0]
Accepted here: type, children, props, content, ..., element, requiredLa propriété que tu as écrite n'est pas déclarée par le schéma à cet endroit. Compare-la à la liste des clés acceptées, ou déplace-la sous props s'il s'agit d'un attribut HTML/ARIA brut — props est transmis au navigateur sans interprétation.
Les problèmes structurels qui ne sont pas une clé parasite (un name manquant, un nombre là où une chaîne est attendue) s'affichent toujours en arbre indenté, celui du décodeur. Lis-le par le bas : le haut est de la mécanique de schéma, et les dernières lignes nomment la propriété et la raison (is missing, is unexpected, expected: ...).
Rien de partiel ne se produit lors d'un refus. Aucun port n'est lié, aucune base de données n'est touchée, aucun fichier n'est écrit. Corrige la propriété et relance — ou lance d'abord sovrium validate <config>, qui pose la même question sans aucun effet de bord.
Guide complet sur Valider une configuration.
« Sovrium could not write its encryption key »
Sovrium failed to start: Sovrium could not write its encryption key to
/srv/app/.sovrium/encryption-key (EACCES: permission denied). Point
SOVRIUM_DATA_DIR at a writable directory, or set SOVRIUM_ENCRYPTION_KEY so no
key needs to be written.Une SOVRIUM_ENCRYPTION_KEY absente n'est pas une erreur — Sovrium génère une clé au premier démarrage et la conserve dans le répertoire de données. Voici le seul cas où il n'y arrive pas : le répertoire est en lecture seule, appartient à un autre utilisateur, ou un fichier occupe la place attendue pour un dossier. Le message nomme le chemin exact qu'il a essayé. Les deux corrections fonctionnent :
SOVRIUM_DATA_DIR=/var/lib/sovrium # un répertoire inscriptible par le processus, ou
SOVRIUM_ENCRYPTION_KEY=<64-hex> # fournis la clé, et rien n'est écritSovrium refuse de démarrer plutôt que de se rabattre sur une clé gardée en mémoire seulement. Une telle clé tient jusqu'au redémarrage suivant, puis laisse derrière elle des identifiants stockés que plus rien ne peut déchiffrer — une panne qui remonte des jours plus tard, dans l'intégration de quelqu'un d'autre.
La clé n'est pas une variable requise. Les versions antérieures refusaient de démarrer sans SOVRIUM_ENCRYPTION_KEY. Elle est désormais optionnelle, et vaut la peine d'être définie quand la clé et les données qu'elle protège ne vivent pas au même endroit — une base externe sur un système de fichiers qui se réinitialise, par exemple. Voir Secrets.
« File not found » ou « No configuration provided »
Error: File not found: app.yamlLe chemin n'existe pas — vérifie le nom et le dossier. Deux voisines :
Error: No configuration provided— aucun chemin de configuration et pas d'APP_SCHEMA. Passe un fichier :sovrium start app.yaml.Error: Unsupported file format: .toml— Sovrium lit.json,.yaml,.ymlet.ts.
« Failed to parse » ta configuration
Error: Failed to parse YAML file: app.yaml
Details: <l'erreur du parseur sous-jacent>Une erreur de syntaxe. La cause classique : des tabulations dans un fichier YAML — l'indentation doit utiliser des espaces. Lis la ligne Details: pour la position, corrige, puis relance sovrium validate app.yaml. Les configurations TypeScript affichent plutôt Failed to load TypeScript file, c'est-à-dire une erreur de type ou d'import.
Auth : « JWT signing keys could not be read »
Déplacé vers Dépannage : authentification, e-mail et MCP.
« Email sending disabled — SMTP not configured »
Déplacé vers Dépannage : authentification, e-mail et MCP.
MCP : « no token is set »
Déplacé vers Dépannage : authentification, e-mail et MCP.
Toujours bloqué ?
Voir la section « Toujours bloqué ? » de Dépannage : authentification, e-mail et MCP.
Pages liées
- Installation — installation et premier lancement.
- Variables d'environnement — chaque variable lue par Sovrium.
- Commandes de cycle de vie —
start,stopet le fichier de verrou. - Valider une configuration — lire un arbre de validation.
Dernière mise à jour 11 août 2026
Cette documentation a été rédigée avec de l'IA : des erreurs ou du contenu obsolète sont donc possibles. Sovrium est en bêta. Les contributions et corrections sont les bienvenues.