Passer au contenu principal

Matrix

Il y a 3 logiciels principaux + des bridges:

  • Synapse, le serveur
  • Element, le client web
  • Matrix-authentication-service, une brique d'auth pour matrix 2.0 (element X)

Les clients sont listé ici: https://matrix.org/clients/ Tous ne supporte pas le sso ni le chiffrement. Les trois suivant fonctionnent.

Fluffy chat : Client android et ios plutot complet https://gitlab.com/famedly/fluffychat
Fractal : Pour Linux: client GTK moderne (il y a son cousin en QT6, mais fractal est mieux)
Element web : l'officiel, client.matrix.fede.re, il y a aussi l'app dans les apps store

Synapse

Synapse est installé via dnf. via le repo suivant: https://obs.infoserver.lv/project/monitor/matrix-synapse

Sa config est dans /etc/synapse/homeserver.yaml

Un example de config: https://github.com/matrix-org/synapse/blob/master/docs/sample_config.yaml

Si il y a un problème de connexion à la base de donnée:

  • verifier si postgresql fonctionne
  • verifier que le fichier /var/lib/pgsql/data/pg_hba.conf contient
host    synapse         synapse_user    ::1/128                 md5

SSO (avec openid avant Matrix-authentication-service)

oidc_providers:
  - idp_id: keycloak
    idp_name: "PPSfleet"
    issuer: "https://auth.ppsfleet.navy/realms/Ppsfleet"
    client_id: "synapse"
    client_secret: "****"
    scopes: ["openid", "profile"]
    allow_existing_users: true # important so it will not create new account
    user_mapping_provider:
      config:
        localpart_template: "{{ user.preferred_username }}"
        display_name_template: "{{ user.name }}"
    backchannel_logout_enabled: true # Optional

Element

Element est installé dans /srv/www/client.matrix.fede.re/current

Matrix-authentication-service

Installation podman root: matrix-auth

podman run -e MAS_CONFIG=/app/config/config.yaml -v /etc/matrix-auth/config.yaml:/app/config/config.yaml:Z -p 127.0.0.1:9292:9292 -p 127.0.0.1:9291:9291 --name matrix-auth ghcr.io/element-hq/matrix-authentication-service

Les bridges

Les bridges sont installé via podman dans /opt/matrix-bridges/<bridge> avec l'user matrix-bridge

Facebook

Install

https://docs.mau.fi/bridges/python/setup/docker.html?bridge=facebook

Run

Commande pour run le docker facebook:

podman run --name matrix-facebook -d -p 127.0.0.1:29319:29319 -v /srv/matrix-bridges/facebook:/data:z dock.mau.dev/mautrix/facebook:latest

Whatsapp

podman stop matrix-whatsapp
podman rename matrix-whatsapp matrix-whatsapp-old
podman pull dock.mau.dev/mautrix/whatsapp:latest
podman run --name matrix-whatsapp -d -p 127.0.0.1:29318:29318 -v /srv/matrix-bridges/whatsapp:/data:z dock.mau.dev/mautrix/whatsapp:latest

Telegram

podman pull dock.mau.dev/mautrix/telegram:latest
podman run --name matrix-telegram -d -p 127.0.0.1:29317:29317 -v /opt/matrix-bridges/telegram:/data:z dock.mau.dev/mautrix/telegram:latest

Discord

https://gitlab.com/mx-puppet/discord/mx-puppet-discord

Instagram

https://docs.mau.fi/bridges/general/docker-setup.html?bridge=instagram

Le docker-compose.yml ne sert finalement pas.

Docker network

podman network create matrix-instagram

Postgres

Pas de sqlite :/

podman run -d --name matrix-instagram-postgres -e POSTGRES_PASSWORD='*****' --network=matrix-instagram --restart always postgres:14

Run

podman run -d --name matrix-instagram --restart unless-stopped -v /srv/matrix-bridges/instagram:/data:z --network=matrix-instagram dock.mau.dev/mautrix/instagram:latest