Gérer son ou ses serveurs via une interface pratique, qui offre de nombreuses possibilités et ce, en toute simplicité, ça vous fait rêver ? Bien que ce soit déjà possible, cette application a retenu mon attention.
Aujourd'hui, nous allons parler de Termix ! Une interface Web bien pensée qui va vous permettre de gérer vos serveurs en SSH, servant également de gestionnaire de fichiers et dossiers, y compris pour l’édition de ceux-ci. Si ce résumé vous fait envie, continuez à lire l’article !
⚡ Caractéristiques
- Accès au terminal SSH - Terminal complet avec prise en charge de l'écran partagé (jusqu'à 4 panneaux) et système d'onglets.
- Gestion des tunnels SSH - Créez et gérez des tunnels SSH avec reconnexion automatique et surveillance de l'état.
- Éditeur de fichiers à distance - Modifiez des fichiers directement sur des serveurs distants avec mise en évidence de la syntaxe et fonctionnalités de gestion des fichiers (téléchargement, suppression, renommage, suppression de fichiers).
- Gestionnaire d'hôtes SSH - Enregistrez, organisez et gérez vos connexions SSH à l'aide de balises et de dossiers.
- Statistiques du serveur - Affichez l'utilisation du processeur, de la mémoire et du disque dur sur n'importe quel serveur SSH.
- Authentification des utilisateurs - Gestion sécurisée des utilisateurs avec contrôles administratifs et prise en charge OIDC et 2FA (TOTP).
- Interface utilisateur moderne - Interface épurée adaptée aux ordinateurs de bureau et aux appareils mobiles (en cours de développement) conçue avec React, Tailwind CSS et Shadcn
- Langues - Prise en charge intégrée de l'anglais et du chinois
- Prise en charge améliorée de la plateforme - Comprend désormais une application Electron installable (en cours de développement) pour les ordinateurs de bureau, et une application mobile dédiée est également prévue.
💾 Installation
Prérequis
Avant de commencer, assurez-vous d’avoir :
Étapes d'installation
- Créez votre compose.yml dans le dossier ou vous comptez installer Termix :
nano compose.yml
- Et collez ça dedans :
services:
termix:
image: ghcr.io/lukegus/termix:latest
container_name: termix
restart: unless-stopped
ports:
- "8080:8080"
volumes:
- termix-data:/app/data
environment:
PORT: "8080"
volumes:
termix-data:
driver: local
- On va déployer l'application :
docker compose up -d
- Rendez-vous sur l'ip:port, suivant l'IP de votre serveur local et du port choisi, 8080 par défaut :
http://ip:8080/
ou votre domaine :
https://termix.mondomaine.com
👤 Créer votre compte administrateur
Lorsque vous lancez Termix pour la première fois, vous serez invité à créer votre compte administrateur :

- 1 => Choisissez un nom d'utilisateur.
- 2 => Choisissez un mot de passe fort.
- 3 => Confirmez le mot de passe.
- 4 => Terminez la création de votre compte en cliquant sur Sign Up.
Vous voilà sur votre tableau de bord :

🖥 Ajouter un serveur
Il est temps d'ajouter notre premier serveur, répétez l'opération pour chaque serveur que vous avez.
Dans le menu latéral gauche, cliquez sur Host Manager :

Ensuite sur Add Host :

Complétez les informations suivantes suivant votre configuration. Dans mon exemple, je vais ajouter le serveur qui me sert à tester les applications pour en faire un tutoriel. On est sur du classique, port 22, connexion par mot de passe, l'usage d'un simple mot de passe est à éviter pour un serveur en production, préférez les clés SSH.
C'est partit !

- 1 => Indiquez l'IP du serveur.
- 2 => Indiquez le port SSH du serveur.
- 3 => Indiquez votre nom d'utilisateur.
- 4 => Nommez votre serveur.
- 5 => Si vous souhaitez rassemblez vos serveurs par dossiers, telle une "catégorie", indiquez son nom.
- 6 => Choisissez le mode d'authentification, si c'est un mot de passe, une clé SSH, ...
- 7 => Si nécessaire, ajoutez le mot de passe. Cliquez sur Add Host pour terminer.
C'est bon, le serveur est ajouté :

📊 Statistiques et SSH
Vous constaterez ces deux options sur votre serveur :

- 1 => Cliquez sur ce bouton pour afficher les statistiques CPU | Mémoire | Espace de stockage :

- 2 => Cliquez sur ce bouton pour afficher le SSH :

Et si vous cliquez sur les deux ?
Vous aurez un système d'onglets, suivant sur lequel vous cliquez, vous afficherez soit les statistiques ou le SSH :

Vous souhaitez avoir les deux affichés dans la même fenêtre ? Pas de problème, cliquez ici :

Ce qui donne :

🗃️ Gestionnaire de fichiers
Termix est doté d'un sympathique gestionnaire de fichiers.
Lancer le gestionnaire de fichiers
Cliquez sur l'icône des statistiques (1), ensuite, sur File Manager (2) :

Ce qui donne :

- 1 => Vous pouvez saisir ici le chemin souhaité ou cliquez sur les tuiles en dessous. Au choix.
- 2 => Vous pouvez cliquer sur les dossiers pour vous rendre dans le dossier ou afficher le fichier souhaité.
- 3 => Zone d'affichage.
Créer | éditer | renommer un dossier ou un fichier

- 1 => Rendez-vous là où vous avez besoin d'utiliser une des ces fonctions.
- 2 => Cliquez sur l'engrenage pour ouvrir le menu.
- 3 => Choisissez l'option qui vous convient.

- 1 => Zone d'édition du compose.yml.
- 2 => Cliquez ici pour sauver votre fichier.
📂 Répertoire par défaut lors de l'ouverture du gestionnaire de fichiers
Vous pouvez définir quel sera le dossier par défaut lorsque vous lancez le gestionnaire de fichiers.
Dans le menu latéral gauche, cliquez sur Host Manager :

Vous arriverez ici :

- 1 => Cliquez ici pour éditer le serveur.

- 1 => Indiquez le dossier par défaut.
- 2 => Cliquez sur Update Host pour terminer.
Lorsque je lance le gestionnaire de fichiers, j'arrive effectivement dans le dossier par défaut que je viens de configurer :

🔐 Activer la 2FA
Vu le côté sensible de l'application, activer la 2FA ne sera pas du luxe.
Rendez-vous dans User Profile :

Vous arrivez ici :

- 1 => Cliquez sur Security.
- 2 => Cliquez sur Enable Two-Factor Authentification.
Ensuite :

- 1 => Scannez le QR Code.
- 2 => Cliquez sur Next: Verify Code afin d'entrer le code retourné par votre application de 2FA.

Terminez en cliquant sur Complete Setup.
🙍🏻♂️ Empêcher la création de nouveaux comptes
Afin de relever encore le niveau de sécurité, il peut-être bien d'empêcher la création de nouveaux utilisateurs.

- 1 => Cliquez sur Admin Settings.
Décochez Allow new account registration :
