Si Matrix Synapse sur CasaOS indique que « le conteneur est en état non sain », commencez par consulter les journaux du conteneur et le fichier homeserver.yaml généré au lieu de réinstaller sans discernement. Synapse dispose d'une image Docker officielle, mais un serveur d'accueil de production nécessite également une configuration et des données persistantes, un nom de serveur approprié, PostgreSQL, ainsi qu'une planification du HTTPS et de la fédération.
SQLite convient aux tests, mais la documentation actuelle de Synapse recommande PostgreSQL pour presque toutes les installations réelles. Un conteneur peut démarrer tout en restant en état non sain si sa configuration, sa base de données, ses autorisations ou sa migration de démarrage échouent.
Utilisez l'image officielle de Synapse
Le guide d'installation actuel de Synapse indique que ghcr.io/element-hq/synapse est une image de conteneur officielle.
Générez la configuration initiale
Créez un répertoire persistant et générez la configuration une fois avant le démarrage normal :
mkdir -p /DATA/AppData/synapse
docker run --rm -it -v /DATA/AppData/synapse:/data -e SYNAPSE_SERVER_NAME=matrix.example.com -e SYNAPSE_REPORT_STATS=no ghcr.io/element-hq/synapse:latest generate
Remplacez le domaine d'exemple par le nom du serveur Matrix que vous comptez conserver.
Vérifiez pourquoi le conteneur est en état non sain
docker ps -a | grep synapse
docker inspect synapse --format '{{json .State.Health}}'
docker logs --tail 200 synapse
Recherchez les erreurs YAML, les fichiers manquants, les problèmes d'autorisation, les erreurs de connexion à la base de données ou les migrations qui ne se terminent jamais.
Utilisez PostgreSQL en production
Le guide actuel de Synapse pour PostgreSQL explique la configuration de base de données prise en charge. Assurez-vous que les données Postgres sont persistantes et sauvegardez-les avec l'état de Synapse.
Ne modifiez pas server_name par la suite sans planification
Vos identifiants Matrix sont dérivés du nom du serveur, par exemple @user:example.com. Choisissez le domaine que vous comptez conserver à long terme avant d'inviter des utilisateurs.
HTTPS est nécessaire pour une utilisation pratique
Synapse écoute généralement en interne sur HTTP (généralement sur le port 8008). Utilisez un proxy inverse avec HTTPS pour les clients et la fédération, plutôt que d’exposer publiquement le port brut du conteneur.
La fédération implique davantage de contraintes liées au DNS et au proxy
Pour communiquer avec d’autres serveurs Matrix, configurez correctement le nom de serveur public, HTTPS et la découverte de la fédération. Un test en local uniquement peut être beaucoup plus simple.
Sauvegarder plus que le conteneur
Conservez homeserver.yaml, les clés de signature, les fichiers multimédias téléversés et la base de données PostgreSQL. Télécharger à nouveau l’image ne permet pas de restaurer l’identité d’un serveur domestique.
Le guide de dépannage Docker présente la méthode générale de débogage des conteneurs.
Vérifier la propriété des fichiers dans le dossier de données persistant
Si le journal du conteneur signale un accès refusé lors de la lecture de homeserver.yaml, des clés de signature ou des fichiers multimédias, corrigez la propriété du répertoire de données Synapse associé, en fonction de l’UID/GID attendu par l’image. Évitez de rendre l’ensemble de l’arborescence de données CasaOS accessible en écriture à tous.
Attendre la fin des migrations de la base de données avant d’évaluer l’état de santé
Après une mise à niveau ou une première connexion à PostgreSQL, Synapse peut avoir besoin de temps pour effectuer les migrations de schéma. Surveillez les journaux au lieu de redémarrer le conteneur à répétition, car interrompre les migrations peut compliquer le diagnostic.
Tester l’API locale avant le proxy inverse
Avant d’ajouter HTTPS, le DNS ou la fédération, vérifiez que le point de terminaison HTTP interne de Synapse répond depuis l’hôte CasaOS. Si l’API locale est en mauvais état de santé, un proxy inverse ne peut pas y remédier.
FAQ
Pourquoi Synapse est-il en mauvais état de santé ?
Consultez les journaux et l’état de santé pour repérer les erreurs de configuration, de permissions, de base de données ou de migration ; le fil de discussion source ne fournit pas de cause unique vérifiée.
Puis-je utiliser SQLite ?
Pour les tests, oui. La documentation actuelle de Synapse recommande PostgreSQL pour presque toutes les installations en production.
Quel port Synapse utilise-t-il en interne ?
Les configurations Docker courantes exposent l’API client-serveur sur le port 8008, derrière un proxy inverse.
Ai-je besoin d’Element ?
Non. Synapse est le serveur domestique ; Element est un client ou une interface web parmi d’autres.



