ansible-role-docker-synapse/README.md

8.6 KiB

Role : docker_synapse

Services fournis

  • main.yml : Installation de synapse sur un serveur docker_host

Variables

Fournir les variables suivantes. Par exemple :

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:/#