GB10 Manager v1.0.0
GB10 Manager est une application web de gestion systeme et applicative concue specialement pour le NVIDIA GB10 Grace Blackwell. Elle fournit une interface moderne et intuitive pour surveiller, configurer et deployer des services sur la plateforme ARM64.
--gpus all.
Interface principale avec l'onglet Systeme actif
Fonctionnalites
Monitoring Systeme
CPU, GPU, RAM, temperatures, puissance GPU, frequences et PState en temps reel.
Diagnostic Ollama
Stats conteneur, modeles charges/installes, telechargement et suppression de modeles.
Gestion Docker
Liste, demarrage, arret et statistiques des conteneurs Docker en cours d'execution.
Gestion Applicative
Installation, configuration et suivi des applications avec assistance IA.
5 Themes Catppuccin
Default, Mocha, Macchiato, Frappe et Latte. Personnalisation complete de l'interface.
5 Langues
Anglais, Francais, Espagnol, Russe et Chinois. Interface entierement traduisible.
Mode Dummy / Expert
Mode securise par defaut. Mode expert avec terminal SSH et commandes systeme.
Whisper ASR
Transcription audio integree (MP3, WAV, M4A). Support multi-modeles et multi-langues.
Certificat HTTPS
Gestion des certificats SSL Caddy, telechargement CA et renouvellement integre.
Architecture
GB10 Manager est une application Go avec un frontend web embarque, deployee en tant que conteneur Docker sur le GB10.
Schema d'architecture
Stack technique
| Composant | Technologie | Details |
|---|---|---|
| Backend | Go 1.22+ | ServeMux ameliore, embed.FS pour fichiers statiques |
| Frontend | HTML/CSS/JS vanilla | Zero dependance, theme Catppuccin, i18n integre |
| Conteneurisation | Docker (ARM64) | Image basee sur Ubuntu 24.04 avec Docker CLI, webssh |
| LLM | Ollama | API HTTP localhost:11434, support natif ou Docker |
| GPU | NVIDIA Blackwell | Acces via nvidia-smi, flag --gpus all |
| TLS | Caddy | Certificats TLS internes auto-generes |
| SSH | WebSSH (Python) | Terminal SSH web integre pour le mode Expert |
Prerequis
- NVIDIA GB10 Grace Blackwell avec Ubuntu 24.04 LTS
- Docker Engine installe et fonctionnel
- NVIDIA Container Toolkit pour l'acces GPU (
--gpus all) - Ollama installe (natif ou en conteneur Docker) sur le port 11434
- Caddy (optionnel) pour le reverse proxy HTTPS
- Acces SSH au serveur GB10
Installateur graphique
L'installateur gb10-installer.exe est un binaire Windows autonome qui deploie
automatiquement GB10 Manager sur un serveur GB10 distant via SSH.
Utilisation
- Copiez le dossier
releases/sur votre poste Windows - Lancez
gb10-installer.exe- une interface web s'ouvre dans le navigateur - Etape 1 - Connexion : Saisissez l'adresse IP, le port SSH (22), l'utilisateur et le mot de passe
- Etape 2 - Configuration : Choisissez le repertoire de destination (
/opt/gb10-managerpar defaut) - Etape 3 - Installation : Suivez la progression en temps reel (SSE streaming)
- Etape 4 - Modeles : Selectionnez et telechargez les modeles Ollama souhaites
Contenu du repertoire releases/
releases/
gb10-installer.exe # Installateur Windows (UPX compresse)
payload/
gb10-manager # Binaire ARM64 Linux (UPX compresse)
Dockerfile # Dockerfile pour le conteneur gb10-manager
docs.tar.gz # Documentation web (conteneur gb10-docs)
Installation manuelle
1. Copier les fichiers sur le serveur
scp gb10-manager-arm64 eforgues@192.168.1.89:/opt/gb10-manager/gb10-manager
scp Dockerfile eforgues@192.168.1.89:/opt/gb10-manager/Dockerfile
2. Construire l'image Docker
cd /opt/gb10-manager
docker build --no-cache -t gb10-manager:latest -f Dockerfile .
3. Demarrer le conteneur
docker run -d \
--name gb10-manager \
--network host \
--gpus all \
--restart unless-stopped \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /etc:/host-etc:ro \
gb10-manager:latest
Flags Docker expliques
| Flag | Role |
|---|---|
--network host | Partage le reseau de l'hote (acces direct aux services et Ollama) |
--gpus all | Donne acces a nvidia-smi pour les stats GPU |
--restart unless-stopped | Redemarrage automatique sauf arret manuel |
-v /var/run/docker.sock | Permet de gerer les conteneurs Docker depuis l'application |
-v /etc:/host-etc:ro | Acces en lecture seule a la configuration de l'hote (certificats, etc.) |
En-tete et navigation
L'en-tete affiche le nom du serveur (hostname du GB10), le statut d'Ollama en temps reel et un acces aux parametres. La navigation principale se fait par quatre onglets.
En-tete avec nom du serveur, statut Ollama, onglets et liens rapides
Composants de l'en-tete
- Nom du serveur : Affiche le hostname du GB10 (police Orbitron, gradient bleu). Recupere dynamiquement via
/api/system/info. - Indicateur Ollama : Point vert (en ligne) ou rouge (hors ligne) avec le texte du statut. Verification periodique via
/api/ollama/diagnostic. - Bouton Parametres : Icone engrenage ouvrant la modale de configuration.
Barre de liens rapides
Affiche automatiquement des liens vers les services Docker detectes. Chaque lien
pointe vers https://hostname:port et s'ouvre dans un nouvel onglet.
Les services reconnus incluent : Open WebUI, Whisper ASR, DocMind AI, Stirling PDF,
Obsidian et toute application configuree avec un port expose.
Onglet Systeme
L'onglet principal affiche les informations systeme du GB10, les statistiques temps reel et le diagnostic complet d'Ollama.
Cartes d'informations systeme
Les cartes affichent les informations materielles et logicielles du serveur :
Cartes d'informations systeme du GB10
Statistiques temps reel
Les statistiques sont actualisees automatiquement toutes les 3 secondes via l'endpoint
GET /api/system/stats. Chaque metrique est representee par une barre de
progression et une valeur numerique.
Metriques temps reel : CPU, GPU, RAM, temperatures, puissance et frequences
| Metrique | Source | Description |
|---|---|---|
| CPU | /proc/stat | Pourcentage d'utilisation CPU global |
| GPU | nvidia-smi | Utilisation du GPU (compute) |
| RAM | /proc/meminfo | Pourcentage de memoire utilisee |
| Temp | /sys/class/thermal | Temperature CPU/SoC |
| GPU Temp | nvidia-smi | Temperature du GPU |
| GPU Power | nvidia-smi | Consommation electrique du GPU (watts) |
| GPU Clock | nvidia-smi | Frequence d'horloge GPU (MHz) |
| PState | nvidia-smi | Etat de performance GPU (P0-P12) |
Mode Dummy / Expert
Le mode Dummy (par defaut) bloque l'execution de commandes potentiellement dangereuses. Le mode Expert debloque toutes les commandes et active le bouton SSH Terminal qui ouvre un terminal WebSSH interactif vers le GB10.
Diagnostic Ollama
La section Diagnostic Ollama fournit une vue complete de l'etat du service Ollama, des ressources consommees, des modeles charges en memoire et des modeles installes. Elle permet egalement de telecharger ou supprimer des modeles.
Diagnostic Ollama complet : conteneur, systeme, modeles et telechargement
Fonctionnalites du diagnostic
- Stats conteneur : CPU, RAM, limites memoire, I/O reseau et disque, nombre de PIDs
- Stats systeme : RAM totale/utilisee/disponible, swap, GPU (nom, utilisation, temperature, VRAM)
- Modeles charges : Liste des modeles actuellement en memoire GPU avec le temps d'expiration
- Modeles installes : Tous les modeles telecharges avec taille et bouton de suppression
- Telecharger un modele : Champ de saisie avec progression SSE en temps reel (barre + pourcentage)
API Ollama utilisees
| Endpoint Ollama | Usage |
|---|---|
GET /api/tags | Liste des modeles installes |
GET /api/ps | Modeles charges en memoire |
POST /api/pull | Telecharger un modele (streaming) |
DELETE /api/delete | Supprimer un modele |
Conteneurs Docker
L'onglet Conteneurs affiche tous les conteneurs Docker du systeme avec leur statut, leur utilisation de ressources et des actions rapides (demarrer, arreter, redemarrer).
Liste des conteneurs Docker avec statut et statistiques
Informations affichees
- Nom : Nom du conteneur Docker
- Uptime : Duree depuis le demarrage ou derniere sortie
- Ressources : CPU et RAM utilises (actualisation automatique)
- Statut : Badge colore (running = vert, stopped = rouge)
- Actions : Demarrer, arreter ou redemarrer le conteneur (mode Expert)
Applications
L'onglet Applications offre une interface de gestion avancee pour les services deployes. Il comprend une barre laterale avec la liste des applications detectees et un panneau de detail avec les informations, journaux et actions disponibles.
Interface de gestion des applications avec detail de service
Applications supportees (36 services)
GB10 Manager reconnait automatiquement 36 services Docker pre-configures, incluant :
| Service | Port | Description |
|---|---|---|
| open-webui | 3000 | Interface web pour modeles LLM (Ollama) |
| whisper-asr | 9000 | Transcription audio (Faster Whisper) |
| docmind-ai | 8501 | Analyse de documents avec IA |
| stirling-pdf | 8080 | Outils PDF complets |
| ollama | 11434 | Serveur d'inference LLM |
| obsidian | 80 | Prise de notes (Markdown) |
| n8n | 5678 | Automatisation de workflows |
| code-server | 8443 | VS Code dans le navigateur |
| jupyter | 8888 | Notebooks Jupyter |
| grafana | 3001 | Tableaux de bord de monitoring |
... et 26 autres services (PostgreSQL, Redis, MinIO, Milvus, Home Assistant, etc.)
Installation d'une nouvelle application
Le bouton + Installer ouvre une modale permettant de specifier le nom de l'application, la methode d'installation (Docker, APT, Snap) et la version. Le bouton Demander a l'IA utilise Ollama pour generer les commandes d'installation optimales.
Chat IA (Ollama)
Le panneau de chat en bas de page permet d'interagir avec Ollama pour obtenir de l'aide sur l'installation, la configuration et le depannage des services. Les commandes suggerees par l'IA peuvent etre executees directement apres validation.
docker run -d --name postgres -p 5432:5432 -e POSTGRES_PASSWORD=secret postgres:16
Chat IA avec Ollama - assistance interactive
Fonctionnalites du chat
- Streaming SSE : Les reponses arrivent mot par mot en temps reel
- Historique : L'historique de conversation est conserve pendant la session
- Execution de commandes : Les commandes dans les suggestions IA peuvent etre executees d'un clic (avec validation)
- Modele configurable : Le modele Ollama utilise est configurable dans les parametres
- Panneau depliable : Le chat peut etre masque/affiche via le toggle dans les options
Parametres - General
La modale de parametres est accessible via l'icone engrenage dans l'en-tete. L'onglet General contient la langue, le mode d'execution, les services persistants et les informations systeme.
Onglet General des parametres
Parametres - Options
L'onglet Options controle le comportement de l'interface : chat IA, modele Ollama par defaut et popup de compliment a l'ouverture.
Options de configuration du chat, modele IA et popup
Parametres - Themes
GB10 Manager supporte 5 themes visuels bases sur la palette Catppuccin. Chaque theme modifie les couleurs de fond, texte, accent, succes, avertissement et erreur.
Selection du theme Catppuccin
Themes disponibles
| Theme | Fond | Style |
|---|---|---|
| Default | Sombre (#0d1117) | GitHub Dark - theme par defaut |
| Mocha | Sombre chaud (#1e1e2e) | Catppuccin Mocha - contrastes adoucis |
| Macchiato | Sombre moyen (#24273a) | Catppuccin Macchiato - intermediaire |
| Frappe | Sombre gris (#303446) | Catppuccin Frappe - tons gris-bleu |
| Latte | Clair (#eff1f5) | Catppuccin Latte - theme clair |
Parametres - Systeme
L'onglet Systeme permet de modifier les parametres systeme du GB10 : hostname, fuseau horaire, DNS, locale. Chaque modification est analysee par l'IA avant application pour garantir la stabilite du systeme.
Parametres modifiables
| Parametre | Commande | Editable |
|---|---|---|
| Hostname | hostnamectl set-hostname | Oui (analyse IA) |
| Fuseau horaire | timedatectl set-timezone | Oui (analyse IA) |
| Serveur DNS | resolvectl | Oui (analyse IA) |
| NTP | timedatectl | Lecture seule |
| Swap | swapon --show | Lecture seule |
| Locale | localectl set-locale | Oui (analyse IA) |
Parametres - Certificat HTTPS
L'onglet Certificat gere les certificats SSL generes par Caddy pour le HTTPS.
Fonctionnalites
- Statut Caddy : Affiche si Caddy est en cours d'execution
- Informations certificat : Details du certificat actif (emetteur, validite, sujet)
- Telechargement CA : Telechargez le certificat d'autorite de certification pour l'installer dans votre navigateur ou systeme d'exploitation
- Renouvellement : Supprime et regenere la PKI interne de Caddy. Tous les clients doivent reinstaller le nouveau certificat CA apres renouvellement
API Reference
GB10 Manager expose une API REST sur le port 8100. Tous les endpoints retournent du JSON sauf indication contraire.
Systeme
Retourne les informations systeme (hostname, OS, kernel, CPU, RAM, GPU, disque, Docker, uptime)
Retourne les statistiques temps reel (CPU%, GPU%, RAM%, temperatures, puissance, frequences, PState)
Execute une commande systeme (validation de securite selon le mode dummy/expert)
Ollama
Retourne le diagnostic complet : stats conteneur, systeme, modeles charges et installes
Telecharge un modele avec streaming SSE de la progression
Supprime un modele installe
Conteneurs
Liste tous les conteneurs Docker avec statut et statistiques
Actions sur un conteneur : start, stop, restart
Applications
Liste les applications detectees avec statut et metadonnees
Installe une application (streaming SSE des logs d'installation)
Chat
Envoie un message au chat Ollama (streaming SSE de la reponse)
Services
Liste les services persistants configures
Whisper
Verifie le statut du service Whisper ASR
Transcrit un fichier audio (multipart/form-data)
Certificats
Informations sur le certificat HTTPS Caddy
Renouvelle le certificat HTTPS (streaming SSE)
Telecharge le certificat CA au format PEM
Healthcheck
Retourne "ok" si le service est operationnel
Exemple de requete
Telecharger un modele Ollama (SSE)
curl -N -X POST http://localhost:8100/api/ollama/models/pull \
-H "Content-Type: application/json" \
-d '{"name":"llama3.1:8b"}'
# Reponse SSE (flux continu) :
data: {"status":"pulling manifest"}
data: {"status":"downloading","completed":1234567,"total":4600000000}
data: {"status":"success"}
Informations systeme
curl http://localhost:8100/api/system/info | jq
{
"hostname": "gb10-louis",
"os": "Ubuntu 24.04.2 LTS",
"kernel": "6.8.0-49-generic",
"arch": "aarch64",
"cpu": "72 cores",
"ram": "128 GB",
"gpu": "NVIDIA Blackwell",
...
}
Configuration Docker
Dockerfile (gb10-manager)
FROM ubuntu:24.04
# Outils systeme requis
RUN apt-get update && apt-get install -y --no-install-recommends \
bash ca-certificates curl iproute2 procps \
pciutils usbutils dmidecode lshw inxi \
python3 python3-pip openssh-client sshpass \
&& pip3 install --break-system-packages webssh \
&& apt-get clean && rm -rf /var/lib/apt/lists/*
# Docker CLI (pas le daemon)
RUN install -m 0755 -d /etc/apt/keyrings \
&& curl -fsSL https://download.docker.com/linux/ubuntu/gpg \
-o /etc/apt/keyrings/docker.asc \
&& echo "deb [arch=arm64 signed-by=/etc/apt/keyrings/docker.asc] \
https://download.docker.com/linux/ubuntu noble stable" \
> /etc/apt/sources.list.d/docker.list \
&& apt-get update \
&& apt-get install -y --no-install-recommends docker-ce-cli \
&& apt-get clean && rm -rf /var/lib/apt/lists/*
COPY gb10-manager /app/gb10-manager
RUN chmod +x /app/gb10-manager
WORKDIR /app
EXPOSE 8100
CMD ["/app/gb10-manager"]
Commande docker run
docker run -d \
--name gb10-manager \
--network host \
--gpus all \
--restart unless-stopped \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /etc:/host-etc:ro \
gb10-manager:latest
Internationalisation (i18n)
L'interface est entierement disponible en 5 langues. La traduction est geree cote client
via l'objet I18N dans app.js et les attributs HTML
data-i18n.
Langues supportees
| Code | Langue | Interface |
|---|---|---|
en | English | Langue par defaut |
fr | Francais | Traduction complete |
es | Espanol | Traduction complete |
ru | Russkij (Russe) | Traduction complete |
zh | Zhongwen (Chinois) | Traduction complete |
Mecanisme de traduction
HTML - attribut data-i18n
<button data-i18n="refresh">Actualiser</button>
<span data-i18n-title="settings">Parametres</span>
<input data-i18n-placeholder="chatPlaceholder">
JavaScript - fonction de traduction
function t(key) {
return (I18N[currentLang] && I18N[currentLang][key])
|| I18N.en[key] || key;
}
Securite
Mode Dummy / Expert
Le validateur de securite (security/validator.go) analyse chaque commande
soumise et bloque les operations dangereuses en mode Dummy :
- Commandes
rm -rf,mkfs,dd,shutdown,reboot - Modifications de
/etc/passwd,/etc/shadow - Redirection vers des devices (
/dev/sda, etc.) - En mode Expert : toutes les commandes sont autorisees avec validation utilisateur
Authentification
Les operations systeme (modification hostname, DNS, etc.) requierent une authentification via mot de passe sudo. Le mot de passe est transmis uniquement pour l'operation en cours et n'est jamais stocke.
Conteneur securise
- Le socket Docker est monte en lecture/ecriture pour la gestion des conteneurs
- Les fichiers
/etcde l'hote sont montes en lecture seule (:ro) - Le conteneur utilise
--network hostpour un acces direct aux services locaux - Le flag
--gpus alldonne acces uniquement a nvidia-smi, pas d'acces direct au GPU non supervise
Installateur
- Mot de passe SSH chiffre en memoire avec AES-256-GCM (derive de cle PBKDF2)
- Jamais ecrit sur le disque en clair
- Connexion SSH avec timeout de 10 secondes
- Support keyboard-interactive en plus de l'authentification par mot de passe