Installer Synapse-Admin avec Docker

Tutoriel d'installation de Synapse-Admin, une interface web pour administrer votre serveur Synapse sans passer par le CLI

Installer Synapse-Admin avec Docker
synapse admin docker element matrix

Au sommaire :

  • 1-Qu'est-ce que Synapse-Admin ?
  • 2-Prérequis
  • 3-Déploiement
  • 4-Configuration

1-Qu'est-ce que Synapse-Admin ?

synapse-admin est une application qui va vous permettre d'administrer votre serveur Synapse via une interface web.

Donc si vous êtes pas encore à l'aise avec l'administration SQLite/PostGreSQL, cette interface va vous rendre de grands services.

2-Prérequis

Il vous faudra une machine virtuelle sous Ubuntu Server 22.04 LTS.

Voici le guide pour ceux qui veulent repartir de zéro.

Virtualiser Ubuntu Server 22.04 LTS sur Proxmox VE
Guide d’installation de Ubuntu Server 22.04 LTS sur Proxmox VE avec mes meilleurs réglages.

Si vous voulez gagner du temps, utilisez un template cloud-init.

Initialiser vos machines virtuelles avec Cloud-init sur Proxmox VE
Guide d’installation de Cloud-Init qui va vous permettre d’automatiser vos déploiements

Ensuite, suivez ce guide pour installer Docker, Docker Compose et préparer vos variables d'environnement.

Installer Docker
Guide d’installation de Docker.

Avoir suivi le guide d'installation de Synapse et Element.

Installer Synapse et Element avec Docker
Guide d’installation de Synapse et Element sous Docker.

Enfin, pour exposer et sécuriser l'application sur internet, il vous faudra déployer Traefik et Authelia.

Installer Traefik avec Docker
Guide d’installation de Traefik.
Installer Authelia avec Docker
Guide d’installation de Authelia.

3-Déploiement

Commencez par créer un dossier "docker" à la racine du dossier utilisateur"

mkdir -p ~/docker

Créez un fichier nommé "compose.yml"

touch ~/docker/compose.yml

Ouvrez le fichier "compose.yml" et copiez cette configuration.

version: "3.9"

networks:
  t2_proxy:
    name: t2_proxy
    driver: bridge

services:

  synapseadm:
    container_name: synapseadm
    image : awesometechnologies/synapse-admin
    hostname: synapseadm
#    ports:
#      - 80:80
    restart: unless-stopped
    labels:
      - traefik.enable=true
      - traefik.http.routers.synapseadm.entrypoints=websecure
      - traefik.http.routers.synapseadm.tls.certresolver=letsencrypt
      - traefik.http.routers.synapseadm.rule=Host(`synapseadm.domain_name`)
      - traefik.http.routers.synapseadm.service=synapseadm-svc
      - traefik.http.services.synapseadm-svc.loadbalancer.server.port=80
      - 'traefik.http.routers.synapseadm.middlewares=chain-authelia@file'
  • version : 3.9
  • services : c'est là qu'il faudra ajouter les configuration de vos conteneurs
  • container_name : le nom du conteneur, sinon Docker en choisira un de manière aléatoire
  • hostname : le nom d'hôte du conteneur
  • build et context : cette fonctionnalité permet de créer l'image Docker au moment du déploiement en allant chercher le code du dépôt git.
  • ports : le port d'écoute pour accéder à l'interface web (mettez tout sauf 80 par exemple 9000:80)
  • restart : unless-stopped par défaut. Le daemon de Docker redémarrera automatiquement le conteneur sauf si vous l’arrêtez, il faudra le démarrer manuellement

Enregistrez le fichier "compose.yml" et déployez le conteneur.

docker compose up -d

4-Configuration

Accédez à l'interface web en tapant l'adresse IP suivi de son numéro de port ou bien l'adresse web.

Choisissez la langue, indiquez vos identifiants (administrateur seulement), le nom de domaine de votre instance puis cliquez sur "Connexion".

Et c'est tout!!!! C'est un outil qui me facilite la tâche au quotidien car je suis pas encore à l'aise avec les bases de données. C'est un équivalent de PHPMyAdmin pour ceux qui connaissent déjà.

Vous allez pouvoir :

  • Voir la liste des utilisateurs et des salons
  • Voir les appareils sur lesquels sont connectés les utilisateurs
  • Les logs de connexion
  • Les médias partagés (invisible si chiffrement activé)
  • Changer le statut d'un utilisateur
  • Changer les mots de passe
  • Activer ou désactiver les utilisateurs
Administrer son serveur Matrix - Blog de Simon Vieille