Dépannage
Le serveur refuse de démarrer et mentionne la sécurité au niveau des lignes ou le compte de base de données
Le serveur interroge Postgres avec un compte qui ne peut pas contourner la sécurité au niveau des lignes, et il refuse de démarrer (en disant pourquoi) s'il le pouvait. Cela arrive quand le rôle est un superutilisateur, a BYPASSRLS, est membre d'un tel rôle, ou possède des tables avec sécurité au niveau des lignes. Cela arrive aussi quand un compte de migration est configuré et que le compte d'exécution pourrait encore basculer vers un rôle privilégié.
Avec le Postgres inclus, tout est automatique : vérifiez donc que vous n'avez pas remplacé CAMPBOOKS_DATABASE_URL. Avec votre propre Postgres, créez le compte d'exécution comme décrit dans Stockage et base de données.
Si vous ne pouvez pas encore séparer les comptes, vous pouvez démarrer quand même :
CAMPBOOKS_DATABASE_ALLOW_RLS_BYPASS=true
L'isolation des espaces de travail repose alors sur les requêtes seules. Considérez cela comme temporaire.
Le service laya refuse de démarrer
laya-serve répond à tout le monde quand il n'a pas de clé, donc le service laya refuse de démarrer tant que CAMPBOOKS_AI__DECIDE__API_KEY n'est pas défini dans .env. Générez-en une, définissez-la et redémarrez :
openssl rand -hex 32
docker compose --profile ai up -d
Voir IA locale.
Le service d'embeddings ne tourne pas sur ma machine ARM
La version CPU du serveur d'embeddings de texte n'est publiée que pour linux/amd64. Sur arm64, retirez le service embeddings et pointez le rôle embed vers Ollama avec le modèle bge-m3. Voir IA locale.
La génération par l'IA est très lente
L'inférence sur CPU fonctionne mais reste lente pour le rôle complete. Utilisez un hôte avec GPU, ou un fournisseur hébergé qui sert des modèles à poids ouverts, et indiquez son URL dans .env. Les rôles decide (Laya) et embed tournent bien sur CPU. Voir IA locale.
Les invitations n'arrivent pas par e-mail
Les invitations ne sont pas encore envoyées par e-mail. La personne qui invite reçoit le lien une seule fois, juste après l'invitation, pour le transmettre. Le lien est construit à partir de CAMPBOOKS_PUBLIC_URL, définissez donc l'adresse que les gens utilisent vraiment. Voir Connexion.
Le serveur ne démarre pas avec le stockage S3
Avec CAMPBOOKS_BLOBS__BACKEND=s3, le serveur vérifie au démarrage qu'il peut joindre le bucket, et refuse de démarrer sinon. Vérifiez le point d'accès, la région, les clés et CAMPBOOKS_BLOBS__S3__PATH_STYLE. Voir Stockage et base de données.