Tutoriel (30 minutes) application de messagerie tout-en-un


Introduction

👋 Salut à tous ! Vous en avez assez des stories Instagram mais vous voulez garder les DM ? 📩 Aujourd’hui, je vous montre comment unifier tous vos chats, y compris Instagram, en un seul endroit grâce à Matrix et OVH. 🚀 Pas de distractions, juste vos messages. Restez avec moi !

I. Se connecter à GitHub

https://github.com/spantaleev/matrix-docker-ansible-deploy

II. Ouvrir un terminal et coller cette commande:

git clone https://github.com/spantaleev/matrix-docker-ansible-deploy.git

III. Ouvrir le project avec son IDE préféré

WebStorm par exemple

IV. Créer un serveur

Sur OVH, AWS ou Google Cloud

V. Se connecter en SSH au serveur

ssh debian@ip_address

VI. Tester que python fonctionne

Sur le serveur, toujours connecté en SSH, taper la commande

python3 --version

VII. Installer ansible en local

pipx install --include-deps ansible

VIII. Installer Passlib en local

pip3 install passlib

IX. Installer git en local

cf https://git-scm.com/downloads

X. Installer Just en local

brew install just

XI. Configurer le DNS

mettre les records

| Type     | Host     | Value                |
| -------- | -------- | -------------------- |
| A record | matrix   | ip_address           |
| C Name   | element  | matrix.<nom_de_domaine> |

XII. Configurer matrix

Dans notre dossier:

  • créer un dossier
mkdir inventory/host_vars/matrix.<nom_de_domaine>)
  • copier le fichier de configuration
cp examples/vars.yml inventory/host_vars/matrix.<nom_de_domaine>/vars.yml
  • éditer le fichier de configuration
nano inventory/host_vars/matrix.<nom_de_domaine>/vars.yml

et le remplir avec les informations suivantes:

matrix_domain: NOM_DE_DOMAINE

matrix_homeserver_implementation: synapse

matrix_homeserver_generic_secret_key: "MOT DE PASSE COMPLIQUÉ"

matrix_playbook_reverse_proxy_type: playbook-managed-traefik

devture_traefik_config_certificatesResolvers_acme_email: 'adresse_email@gmail.com'

devture_postgres_connection_password: "MOT DE PASSE COMPLIQUÉ"

prometheus_enabled: true
prometheus_node_exporter__enabled: true
prometheus_postgres_exporter_enabled: true
grafana_enabled: true
grafana_anonymous_access: false

grafana_default_admin_user: "admin"
grafana_default_admin_password: "MOT DE PASSE COMPLIQUÉ"

matrix_synapse_ext_password_provider_shared_secret_auth_enabled: true
matrix_synapse_ext_password_provider_shared_secret_auth_shared_secret: 12341234123412341234123412341234

matrix_mautrix_telegram_enabled: true
matrix_mautrix_telegram_api_id: 1234567
matrix_mautrix_telegram_api_hash: 123456abcd1234432112343e3e3e9999


matrix_mautrix_whatsapp_enabled: true

matrix_mautrix_facebook_enabled: true
  • copier le fichier de configuration des hosts
cp examples/hosts inventory/hosts
  • éditer le fichier de configuration des hosts
matrix.<nom_de_domaine> ansible_host=<adresse_ip_serveur> ansible_ssh_user=root

XIII. Lancer l’installation

ansible-playbook -i inventory/hosts setup.yml --tags=install-all,ensure-matrix-users-created,start

XIV. Vérifier que l’installation a réussi

ansible-playbook -i inventory/hosts setup.yml --tags=self-check

XIV. Créer un utilisateur

just register-user <your-username> <your-password> <admin access: yes or no>
# (ie)
just register-user benjamin mot_de_passe yes

XV. Se connecter au client Web

https://element.<nom_de_domaine>

XVI. Se connecter au client mobile

XVII. Configurer Telegram

just install-all
  • envoyer un message à @telegrambot:nom_de_domaine
  • envoyer login
  • suivre les indications

XVIII. Configurer Whatsapp

  • envoyer un message à @whatsappbot:nom_de_domaine
  • envoyer login
  • scanner le qr code avec WhatsApp sur un téléphone

XIX. Configurer Facebook messenger

  • envoyer un message à @facebookbot:nom_de_domaine
  • envoyer login <email> <password>

XX. Configurer Instagram

  • envoyer un message à @instagrambot:nom_de_domaine
  • envoyer login <email> <password>

Conclusion

Vous avez maintenant un serveur matrix qui vous permet de recevoir les messages de tous vos réseaux sociaux sur une seule application.