# Role : docker_synapse ## Services fournis - main.yml : Installation de synapse sur un serveur docker_host ## Variables Fournir les variables suivantes. Par exemple : ```yaml docker_synapse_fqdn: synapse.example.com docker_synapse_server_name: example.com docker_synapse_version: v1.64.0 docker_synapse_data_dir: /data1 docker_synapse_service_id: synapse docker_synapse_db: synapse docker_synapse_db_user: synapse docker_synapse_db_password: motdepassebdd docker_synapse_smtp_host: smtp.example.com docker_synapse_oidc_enabled: true docker_synapse_oidc_idp_name: "Libretic" docker_synapse_oidc_issuer: https://auth.libretic.fr/auth/realms/libretic docker_synapse_oidc_scopes: ["openid','profile','email"] docker_synapse_oidc_client_id: client_id docker_synapse_oidc_client_secret: client_secret docker_synapse_password_config_enabled: only_for_reauth docker_synapse_registration_shared_secret: "coller_ici_registration_shared_secret" docker_synapse_macaroon_secret_key: "coller_ici_macaroon_secret_key" docker_synapse_form_secret: "coller_ici_form_secret" docker_synapse_retention_options: default: -_min_lifetime: 1d - max_lifetime: 1y allowed_lifetime_min: 1d allowed_lifetime_max: 1y purge_jobs: - longest_max_lifetime: 3d interval: 12h - shortest_max_lifetime: 3d longest_max_lifetime: 1w interval: 1d - shortest_max_lifetime: 1w interval: 2d ``` | Option | Valeur par défaut | Description | |-------------------------------------------|-------------------|----------------------------------------------------------------------------------------------------------------------------------------------| | docker_synapse_fqdn | | Le fqdn pour accéder à synapse | | docker_synapse_server_name | | Le domaine matrix (suffixe des id utilisateur) | | docker_synapse_version | | Version de l'image synapse | | docker_synapse_data_dir | | L'emplacement dans lequel se trouvent les volumes de donnees docker pour le service | | docker_synapse_service_id | | Le nom de service souhaité : conditionne le nommage des dossiers et le routage par traefik | | docker_synapse_db | | Le nom de la base de données | | docker_synapse_db_user | | Le nom du user propriétaire de la base de données | | docker_synapse_db_password | | Le mot de passe du user propriétaire de la base de données | | docker_synapse_smtp_host | | FQDN du serveur smtp pour l'envoi de mails par synapse | | docker_synapse_oidc_enabled | false | Active la configuration openid connect | | docker_synapse_oidc_idp_id | | Type de provider openid | | docker_synapse_oidc_idp_name | | Nom du provider (s'affiche dans les intitulés "Se connecter avec ...") | | docker_synapse_oidc_issuer | | Url vers le provider | | docker_synapse_oidc_scopes | | Liste de scopes openid connect | | docker_synapse_oidc_client_id | | client_id openid connect | | docker_synapse_oidc_client_secret | | secret associé au client id | | docker_synapse_password_config_enabled | | si docker_synapse_oidc_enabled, true autorise une connexion par mot de passe tout le temps, only_for_reauth seulement si connexion préalable | | docker_synapse_registration_shared_secret | | registration_shared_secret obtenu avec docker_synapse_gen_config=true | | docker_synapse_macaroon_secret_key | | macaroon_secret_key obtenu avec docker_synapse_gen_config=true | | docker_synapse_form_secret | | form_secret obtenu avec docker_synapse_gen_config=true | | docker_synapse_smtp_enabled | false | Active la configuration smtp | | docker_synapse_smtp_host | | Serveur smtp | | docker_synapse_smtp_from | | Valeur du from pour l'envoi d'un courriel | | docker_synapse_smtp_app_name | | Valeur qui apparaitra dans les [ ] dans les sujets des courriels | | docker_synapse_smtp_invite_url | | Url vers laquelle rediriger qui serea présente dans les courriels | | docker_synapse_gen_config | false | Demande au playbook de générer une configuration à partir de laquelle récupérer les secrets | | docker_synapse_retention_options | | Si précisé, active la section retention dans la configuration de synapse avec ces options | | docker_synapse_turn_uris | | Si précisé, liste de serveurs turn à utiliser | | docker_synapse_turn_shared_secret | | Si docker_synapse_turn_uris précisé, le secret partagé avec les serveurs turn | ## Première installation - provisionner l'environnement une première fois en positionnant la variable docker_synapse_gen_config à true ; le playbook va générer des valeurs à copier/coller dans les variables de playbook de l'environnement ``` ansible-playbook -i inventory/vms -i inventory/synapse setup_synapse.yml -e "{ docker_synapse_gen_config: true }" ``` - poursuivre la configuration après avoir recopié dans l'inventaire les valeurs générées dans le homeserver.yml ``` ansible-playbook -i inventory/vms -i inventory/synapse setup_synapse.yml" ``` - enregistrer un premier utilisateur administrateur administrateur ``` docker exec -ti synapse_synapse_1 bash root@d9017ba62b36:/# register_new_matrix_user -c /data/homeserver.yaml http://localhost:8008 New user localpart [root]: admin Password: Confirm password: Make admin [no]: yes Sending registration request... Success! root@d9017ba62b36:/# ```