# Configurer TURN et postgresql dans synapse
:!: Cette page suppose que le contenu de la page [[matrix:creer_le_daemon_pour_docker-compose|Créer le daemon pour docker-compose]] a été complété sur le serveur.
# 1. TURN
Le serveur de relais VoIP est contenu dans l'image ''karthanistyr/coturn'' (voir [[matrix:installation_des_images_docker|Installation des images docker]]).
Instructions générales: [[https://github.com/matrix-org/synapse/blob/master/docs/turn-howto.rst|matrix-org/synapse/blob/master/docs/turn-howto.rst]]
Instructions suivies ici: [[https://github.com/karthanistyr/matrix-riot-coturn-postgres-docker-compose#coturn-voip-configure-the-coturn-server-within-the-synapse-configuration-file|coturn-voip-configure-the-coturn-server-within-the-synapse-configuration-file]]
# Étape préliminaire conditonnelle
Si l'image ''karthanistyr/matrix-synapse'' n'a encore jamais été démarrée:
root@tempstest:/home/karth# systemctl start docker-compose-matrix
root@tempstest:/home/karth# systemctl stop docker-compose-matrix
Ceci a pour effet de créer et peupler les volumes docker prévus pour persister les données des conteneurs docker.
# Identifier le volume du conteneur matrix-synapse
root@tempstest:/home/karth# docker volume inspect matrix_synapse-data
[
{
"CreatedAt": "2018-04-07T05:14:32Z",
"Driver": "local",
"Labels": null,
"Mountpoint": "/var/lib/docker/volumes/matrix_synapse-data/_data",
"Name": "matrix_synapse-data",
"Options": {},
"Scope": "local"
}
]
# S'assurer que le conteneur matrix-synapse est down
root@tempstest:/home/karth# systemctl stop docker-compose-matrix
# Éditer le fichier de configuration
root@tempstest:/home/karth# vim /var/lib/docker/volumes/matrix_synapse-data/_data/synapse.config.yaml
Suivant les instructions, chercher et renseigner ''turn_uris'' et ''turn_shared_secret''. //Notez que le secret a été mentionné dans le log pendant le build de l'image// ''karthanistyr/coturn''.
turn_uris: ["turn:temptest.draak.fr:3478?transport=udp","turn:temptest.draak.fr:3478?tr
ansport=tcp"]
turn_shared_secret: "<shared_secret>"
# 2. postgresql
''postgresql'' est un backend plus robuste et rapide que ''sqlite''.
Instructions générales (suivies): [[https://github.com/matrix-org/synapse/blob/master/docs/postgres.rst#synapse-config|synapse-config]]
Si l'image karthanistyr/matrix-postgres est utilisée, la base ''synapse'' est automatiquement créée et le mot de passe utilisateur a été communiqué dans le log de build (voir [[matrix:installation_des_images_docker|Installation des images docker]]).
Les étapes sont les mêmes que pour [[matrix:configurer_turn_et_postgresql#1. TURN|TURN]], jusqu'à l'édition du fichier de configuration synapse.
==== Éditer le fichier de configuration ====
root@tempstest:/home/karth# vim /var/lib/docker/volumes/matrix_synapse-data/_data/synapse.config.yaml
Selon les instructions, remplacer la section ''database:'' dans la configuration pour activer l'utilisation de ''postgresql''.
database:
# The database engine name
name: "psycopg2"
# Arguments to pass to the engine
args:
user: synapse_user
password: <db password>
# Path to the database
database: "synapse"
host: postgres
cp_min: 5
cp_max: 10
La valeur ''host'' est ainsi à cause de docker-compose qui expose les conteneurs les uns aux autres à l'aide d'un alias.
Le conteneur postgresql est défini ainsi:
postgres:
image: karthanistyr/matrix-postgres