Ils reviennent!
Qui ?
Ils revieeeeeeeeenent !
Mais qui, putain bordel de merde voyons ?!
La team derrière les applications DumbWare ! Habitués à reprendre des applications classiques et à en faire quelque chose de très simple à utiliser, il s'était écoulé par mal de temps depuis leur dernière application.
Aujourd'hui nous allons parler de DumbTerm ! Un émulateur de terminal puissant et, qui plus est, très élégant. Oui, c'est possible !
⚡ Caractéristiques
- 🖥️ Accès au terminal basé sur le web depuis n'importe où.
- 🌙 Prise en charge du mode sombre.
- 📱 Design réactif pour mobile et bureau.
- 🐳 Prise en charge de Docker.
- 🔧 Utilitaires préinstallés : starship, nerdfonts, apt-utils, curl, wget, ssh, git, vim, nano, htop, net-tools, iputils-ping, traceroute, fontconfig, unzip, locales.
- 🔒 Protection par code PIN optionnelle (numérique).
- ✨ Intégration de l'invite Starship pour une belle expérience du terminal.
- 🔍 Fonctionnalité de recherche dans le terminal (ctrl+f ou cmd+f).
- 📂 Mappages de volumes personnalisés.
- 🔗 Hyperliens dans le terminal.
- ⌨️ Raccourcis clavier pour les actions courantes.
- 📑 Gestion d'onglets : Réorganisation des onglets par glisser-déposer, double-clic pour renommer les onglets, sélection directe des onglets à l'aide de raccourcis, persistance de l'historique du terminal entre les sessions.
- 📱 Prise en charge des PWA pour les mobiles et les ordinateurs de bureau0
- ⚡ XTerm.js pour un rendu rapide du terminal.

💾 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 DumbTerm :
sudo nano compose.yml
- Et collez ça dedans :
services:
dumbterm:
image: dumbwareio/dumbterm:latest
container_name: dumbterm
restart: unless-stopped
ports:
- ${DUMBTERM_PORT:-4189}:3000
volumes:
- ${DUMBTERM_CONFIG:-./config}:/root/.config
- ${DUMBTERM_DATA_DIR:-./data}:/root/data
environment:
TZ: ${DUMBTERM_TZ:-Europe/Brussels}
SITE_TITLE: ${DUMBTERM_SITE_TITLE:-DumbTerm}
DUMBTERM_PIN: ${DUMBTERM_PIN:-1234}
BASE_URL: ${DUMBTERM_BASE_URL:-http://localhost:3000}
ENABLE_STARSHIP: ${ENABLE_STARSHIP:-true}
LOCKOUT_TIME: ${DUMBTERM_LOCKOUT_TIME:-15} # Minutes
MAX_SESSION_AGE: ${DUMBTERM_MAX_SESSION_AGE:-24} # Heures
# (OPTIONAL) - Liste des origines autorisées pour CORS
# ALLOWED_ORIGINS: ${DUMBTERM_ALLOWED_ORIGINS:-http://localhost:4189}
- ${DUMBTERM_PORT:-4189}:3000 => Changez le port de gauche s'il est déjà occupé.
- TZ: ${DUMBTERM_TZ:-Europe/Brussels} => Changez le fuseau horaire par le vôtre.
- SITE_TITLE: ${DUMBTERM_SITE_TITLE:-DumbTerm} => Changez DumbTerm pour un titre à vous.
- DUMBTERM_PIN: ${DUMBTERM_PIN:-1234} => Protégez l'accès de votre application par un mot de passe numérique. Laissez vide pour ne pas mettre de mot de passe.
- BASE_URL: ${DUMBTERM_BASE_URL:-http://localhost:4189} => Changez http://localhost:4189 part http://votre_ip:port de votre serveur ou l'URL complète. Par exemple http://192.168.1.152:4189 ou encore https://dumbterm.mondomaine.com.
- MAX_SESSION_AGE: ${DUMBTERM_MAX_SESSION_AGE:-24} => Durée de session en heures avant nouvelle authentification, en heures.
- 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, 4189 par défaut :
http://ip:4189/
ou votre domaine :
https://dumbterm.mondomaine.com
🔑 Première connexion
Pour peu que vous ayez mis un mot de passe, après vous être rendu sur votre instance, il faudra entrer votre mot de passe :

Vous voilà sur votre tableau de bord :

📑 Onglets
Il est possible de renommer un onglet, d'en créer plusieurs et de les glisser.
Renommer un onglet
Faites un double-clic ou ctrl+alt+r :

Créer un nouvel onglet
Cliquez sur ➕ et renommez votre onglet :

Glisser les ongles
Maintenez le clic gauche sur l'onglet, déplacez votre onglet.