GB10 Manager v1.0.0

GB10 Manager est une application web de gestion système et applicative conçue spécialement pour le NVIDIA GB10 Grace Blackwell. Elle fournit une interface moderne et intuitive pour surveiller, configurer et déployer des services sur la plateforme ARM64.

Plateforme cible NVIDIA GB10 Grace Blackwell - Architecture ARM64 (aarch64) avec GPU intégré. L'application fonctionne en tant que conteneur Docker avec accès au socket Docker et au GPU via --gpus all.
GB10 Manager - Vue principale
Ollama: running
Système Containers Applicatif A propos
Informations Système
Dummy Expert
Actualiser
Hostname
gb10-louis
OS
Ubuntu 24.04 LTS
Kernel
6.8.0-arm64
CPU
Grace 72 cores
RAM
128 GB
GPU
Blackwell B200
Statistiques temps réel
CPU
23%
GPU
45%
RAM
61%
Temp 42°C
GPU T 58°C
Power 185W

Interface principale avec l'onglet Système actif

Fonctionnalités

💻

Monitoring Système

CPU, GPU, RAM, temperatures, puissance GPU, fréquences et PState en temps réel.

🤖

Diagnostic Ollama

Stats conteneur, modèles chargés/installés, téléchargement et suppression de modèles.

📦

Gestion Docker

Liste, démarrage, arrêt et statistiques des conteneurs Docker en cours d'exécution.

🔨

Gestion Applicative

Installation, configuration et suivi des applications avec assistance IA.

🎨

5 Themes Catppuccin

Default, Mocha, Macchiato, Frappe et Latte. Personnalisation complète de l'interface.

🌐

5 Langues

Anglais, Francais, Espagnol, Russe et Chinois. Interface entièrement traduisible.

🔒

Mode Dummy / Expert

Mode sécurisé par défaut. Mode expert avec terminal SSH et commandes système.

🎙

Whisper ASR

Transcription audio intégrée (MP3, WAV, M4A). Support multi-modèles et multi-langues.

🔒

Certificat HTTPS

Gestion des certificats SSL Caddy, téléchargement CA et renouvellement intégré.

Architecture

GB10 Manager est une application Go avec un frontend web embarque, déployée en tant que conteneur Docker sur le GB10.

Schéma d'architecture

+--[ Client Web ]--------------------------------------+ | Navigateur (HTTPS via Caddy) | | -> https://gb10-louis.local:8100 | +-----|------------------------------------------------+ | +-----|------------------------------------------------+ | [ Caddy Reverse Proxy ] (port 443 -> 8100) | | Certificat TLS interne auto-généré | +-----|------------------------------------------------+ | +-----|------------------------------------------------+ | [ Docker Host - NVIDIA GB10 ARM64 ] | | | | +--[ gb10-manager container ]--------------------+ | | | Go 1.22+ (embed.FS) | | | | Port 8100 (--network host) | | | | --gpus all (accès nvidia-smi) | | | | -v /var/run/docker.sock (Docker CLI) | | | | -v /etc:/host-etc:ro (config host) | | | +------------------------------------------------+ | | | | +--[ Ollama ]------------------------------------+ | | | LLM inference (port 11434) | | | | API: /api/tags, /api/ps, /api/pull, etc. | | | +------------------------------------------------+ | | | | +--[ Services Docker ]---------------------------+ | | | open-webui :3000 | whisper-asr :9000 | | | | docmind-ai :8501 | stirling-pdf :8080 | | | | obsidian :80 | ... (36 apps supportées)| | | +------------------------------------------------+ | +------------------------------------------------------+

Stack technique

ComposantTechnologieDétails
BackendGo 1.22+ServeMux amélioré, embed.FS pour fichiers statiques
FrontendHTML/CSS/JS vanillaZero dependance, theme Catppuccin, i18n intégré
ConteneurisationDocker (ARM64)Image basee sur Ubuntu 24.04 avec Docker CLI, webssh
LLMOllamaAPI HTTP localhost:11434, support natif ou Docker
GPUNVIDIA BlackwellAccès via nvidia-smi, flag --gpus all
TLSCaddyCertificats TLS internes auto-générés
SSHWebSSH (Python)Terminal SSH web intégré pour le mode Expert

Prérequis

  • NVIDIA GB10 Grace Blackwell avec Ubuntu 24.04 LTS
  • Docker Engine installé et fonctionnel
  • NVIDIA Container Toolkit pour l'accès GPU (--gpus all)
  • Ollama installé (natif ou en conteneur Docker) sur le port 11434
  • Caddy (optionnel) pour le reverse proxy HTTPS
  • Accès 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

  1. Copiez le dossier releases/ sur votre poste Windows
  2. Lancez gb10-installer.exe - une interface web s'ouvre dans le navigateur
  3. Étape 1 - Connexion : Saisissez l'adresse IP, le port SSH (22), l'utilisateur et le mot de passe
  4. Étape 2 - Configuration : Choisissez le répertoire de destination (/opt/gb10-manager par défaut)
  5. Étape 3 - Installation : Suivez la progression en temps réel (SSE streaming)
  6. Étape 4 - Modèles : Sélectionnez et telechargez les modèles Ollama souhaités
Sécurité Le mot de passe SSH est chiffré en mémoire avec AES-256-GCM des la saisie. Il n'est jamais stocke en clair sur le disque. La connexion SSH supporte l'authentification par mot de passe et keyboard-interactive.

Contenu du répertoire 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. Démarrer 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

FlagRole
--network hostPartage le réseau de l'hote (accès direct aux services et Ollama)
--gpus allDonne accès a nvidia-smi pour les stats GPU
--restart unless-stoppedRedémarrage automatique sauf arrêt manuel
-v /var/run/docker.sockPermet de gérer les conteneurs Docker depuis l'application
-v /etc:/host-etc:roAccès en lecture seule a la configuration de l'hote (certificats, etc.)

Onglet Système

L'onglet principal affiche les informations système du GB10, les statistiques temps réel et le diagnostic complet d'Ollama.

Cartes d'informations système

Les cartes affichent les informations materielles et logicielles du serveur :

Cartes système
Hostname
gb10-louis
OS
Ubuntu 24.04.2 LTS
Kernel
6.8.0-49-generic
Architecture
aarch64 (ARM64)
CPU
72 cores (Grace)
RAM Totale
128 GB
Disque /
234/500 GB (47%)
Docker
27.5.0
Uptime
14 jours 6h
GPU
NVIDIA Blackwell

Cartes d'informations système du GB10

Statistiques temps réel

Les statistiques sont actualisees automatiquement toutes les 3 secondes via l'endpoint GET /api/system/stats. Chaque métrique est représentée par une barre de progression et une valeur numerique.

Statistiques temps réel
CPU
23%
GPU
67%
RAM
78%
Temp 42°C
GPU Temp 58°C
GPU Power 185W
GPU Clock 1890 MHz
PState P0

Métriques temps réel : CPU, GPU, RAM, temperatures, puissance et fréquences

MetriqueSourceDescription
CPU/proc/statPourcentage d'utilisation CPU global
GPUnvidia-smiUtilisation du GPU (compute)
RAM/proc/meminfoPourcentage de mémoire utilisee
Temp/sys/class/thermalTemperature CPU/SoC
GPU Tempnvidia-smiTemperature du GPU
GPU Powernvidia-smiConsommation électrique du GPU (watts)
GPU Clocknvidia-smiFrequence d'horloge GPU (MHz)
PStatenvidia-smiÉtat de performance GPU (P0-P12)

Mode Dummy / Expert

Le mode Dummy (par défaut) bloque l'exécution 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.

Attention Le mode Expert permet d'exécuter des commandes système critiques. Toute commande est soumise a une validation avant exécution. Utilisez-le avec précaution.

Diagnostic Ollama

La section Diagnostic Ollama fournit une vue complète de l'etat du service Ollama, des ressources consommees, des modèles chargés en mémoire et des modèles installés. Elle permet egalement de télécharger ou supprimer des modèles.

Diagnostic Ollama
Diagnostic Ollama Actualiser
Conteneur Ollama
CPU12.5%
RAM8.2 GB
Limite64 GB
NET I/O1.2G / 450M
DISK I/O12G / 8.5G
PIDs24
Système
RAM Totale128 GB
RAM Utilisee78 GB
RAM Dispo50 GB
Swap0 / 16 GB
GPUBlackwell
GPU Util45%
GPU Temp58°C
GPU VRAM12/96 GB
Modèles chargés en mémoire
llama3.1:8b 4.6 GB VRAM - expires in 4m32s
Modèles installés
llama3.1:8b
4.6 GBSupprimer
qwen2.5:3b
1.8 GBSupprimer
nomic-embed-text:latest
262 MBSupprimer
Télécharger un modèle
Télécharger

Diagnostic Ollama complet : conteneur, système, modèles et téléchargement

Fonctionnalités du diagnostic

  • Stats conteneur : CPU, RAM, limites mémoire, I/O réseau et disque, nombre de PIDs
  • Stats système : RAM totale/utilisee/disponible, swap, GPU (nom, utilisation, temperature, VRAM)
  • Modèles chargés : Liste des modèles actuellement en mémoire GPU avec le temps d'expiration
  • Modèles installés : Tous les modèles téléchargés avec taille et bouton de suppression
  • Télécharger un modèle : Champ de saisie avec progression SSE en temps réel (barre + pourcentage)

API Ollama utilisees

Endpoint OllamaUsage
GET /api/tagsListe des modèles installés
GET /api/psModèles chargés en mémoire
POST /api/pullTélécharger un modèle (streaming)
DELETE /api/deleteSupprimer un modele

Conteneurs Docker

L'onglet Conteneurs affiche tous les conteneurs Docker du système avec leur statut, leur utilisation de ressources et des actions rapides (démarrer, arrêter, redémarrer).

Conteneurs Docker
Ollama: running
Système Containers Applicatif A propos
Conteneurs Docker Actualiser
gb10-manager Up 3 days
CPU 2.1% | RAM 45 MB running
ollama Up 3 days
CPU 12.5% | RAM 8.2 GB running
open-webui Up 2 days
CPU 0.5% | RAM 120 MB running
whisper-asr Exited (0) 4h ago
stopped

Liste des conteneurs Docker avec statut et statistiques

Informations affichees

  • Nom : Nom du conteneur Docker
  • Uptime : Durée depuis le démarrage ou dernière sortie
  • Ressources : CPU et RAM utilises (actualisation automatique)
  • Statut : Badge colore (running = vert, stopped = rouge)
  • Actions : Démarrer, arrêter ou redémarrer le conteneur (mode Expert)

Applications

L'onglet Applications offre une interface de gestion avancee pour les services déployés. Il comprend une barre laterale avec la liste des applications détectées et un panneau de detail avec les informations, journaux et actions disponibles.

Onglet Applications
Système Containers Applicatif A propos
Applications + Installer
open-webui
whisper-asr
docmind-ai
stirling-pdf
obsidian
ollama
open-webui
Running - Up 2 days
Image
ghcr.io/open-webui/open-webui:main
Port
3000
CPU / RAM
0.5% / 120 MB

Interface de gestion des applications avec detail de service

Applications supportées (36 services)

GB10 Manager reconnait automatiquement 36 services Docker pre-configures, incluant :

ServicePortDescription
open-webui3000Interface web pour modèles LLM (Ollama)
whisper-asr9000Transcription audio (Faster Whisper)
docmind-ai8501Analyse de documents avec IA
stirling-pdf8080Outils PDF complets
ollama11434Serveur d'inference LLM
obsidian80Prise de notes (Markdown)
n8n5678Automatisation de workflows
code-server8443VS Code dans le navigateur
jupyter8888Notebooks Jupyter
grafana3001Tableaux 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 méthode d'installation (Docker, APT, Snap) et la version. Le bouton Demander a l'IA utilise Ollama pour générer 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 dépannage des services. Les commandes suggérées par l'IA peuvent etre exécutées directement apres validation.

Chat IA
Chat IA (Ollama)
Posez une question pour installer ou configurer une application.
Comment installer PostgreSQL avec Docker ?
Pour installer PostgreSQL en Docker :
docker run -d --name postgres -p 5432:5432 -e POSTGRES_PASSWORD=secret postgres:16
Envoyer

Chat IA avec Ollama - assistance interactive

Fonctionnalités du chat

  • Streaming SSE : Les réponses arrivent mot par mot en temps réel
  • Historique : L'historique de conversation est conserve pendant la session
  • Execution de commandes : Les commandes dans les suggestions IA peuvent etre exécutées d'un clic (avec validation)
  • Modèle configurable : Le modèle Ollama utilise est configurable dans les paramètres
  • Panneau dépliable : Le chat peut etre masqué/affiché via le toggle dans les options

Paramètres - General

La modale de paramètres est accèssible via l'icone engrenage dans l'en-tête. L'onglet General contient la langue, le mode d'exécution, les services persistants et les informations système.

Paramètres - General
General Options Theme Systèmes Certificat
Langue d'affichage
Choisissez la langue de l'interface.
Mode d'exécution
Mode actuel : Dummy
Services persistants
whisper-asr, docmind-ai, stirling-pdf, open-webui, obsidian
Informations
Version :1.0.0
API :http://localhost:8100

Onglet General des paramètres

Paramètres - Options

L'onglet Options controle le comportement de l'interface : chat IA, modèle Ollama par défaut et popup de compliment a l'ouverture.

Paramètres - Options
General Options Theme Systèmes Certificat
Chat IA (Ollama)
Affiche le panneau de chat IA en bas de page.
Afficher le chat IA
Modèle Ollama
Sélectionnez le modèle par défaut utilise par le chat IA.
Modèle par défaut
Popup de compliment
Affiche un message positif a chaque ouverture.
Activer la popup

Options de configuration du chat, modèle IA et popup

Paramètres - 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.

Paramètres - Themes
General Options Theme Systèmes Certificat
Theme Catppuccin
Choisissez une palette de couleurs pour l'interface.
Default
Mocha
Macchiato
Frappe
Latte

Selection du theme Catppuccin

Themes disponibles

ThemeFondStyle
DefaultSombre (#0d1117)GitHub Dark - theme par défaut
MochaSombre chaud (#1e1e2e)Catppuccin Mocha - contrastes adoucis
MacchiatoSombre moyen (#24273a)Catppuccin Macchiato - intermédiaire
FrappeSombre gris (#303446)Catppuccin Frappe - tons gris-bleu
LatteClair (#eff1f5)Catppuccin Latte - theme clair

Paramètres - Système

L'onglet Système permet de modifier les paramètres système du GB10 : hostname, fuseau horaire, DNS, locale. Chaque modification est analysee par l'IA avant application pour garantir la stabilité du système.

Paramètres modifiables

ParametreCommandeÉditable
Hostnamehostnamectl set-hostnameOui (analyse IA)
Fuseau horairetimedatectl set-timezoneOui (analyse IA)
Serveur DNSresolvectlOui (analyse IA)
NTPtimedatectlLecture seule
Swapswapon --showLecture seule
Localelocalectl set-localeOui (analyse IA)
Analyse IA Avant d'appliquer un changement système, le bouton "Analyser" envoie la modification proposee a Ollama qui évalué les risques et recommandé l'action. L'utilisateur doit ensuite confirmer l'application via la modale d'authentification (mot de passe sudo requis).

Paramètres - Certificat HTTPS

L'onglet Certificat gere les certificats SSL générés par Caddy pour le HTTPS.

Fonctionnalités

  • Statut Caddy : Affiche si Caddy est en cours d'exécution
  • Informations certificat : Détails du certificat actif (émetteur, validité, sujet)
  • Téléchargement CA : Telechargez le certificat d'autorite de certification pour l'installer dans votre navigateur ou système d'exploitation
  • Renouvellement : Supprime et régénère la PKI interne de Caddy. Tous les clients doivent réinstaller le nouveau certificat CA apres renouvellement
Attention au renouvellement Le renouvellement du certificat supprime l'ancienne PKI. Tous les appareils connectes devront réinstaller le nouveau certificat CA pour eviter les avertissements HTTPS.

API Référence

GB10 Manager expose une API REST sur le port 8100. Tous les endpoints retournent du JSON sauf indication contraire.

Système

GET /api/system/info

Retourne les informations système (hostname, OS, kernel, CPU, RAM, GPU, disque, Docker, uptime)

GET /api/system/stats

Retourne les statistiques temps réel (CPU%, GPU%, RAM%, temperatures, puissance, fréquences, PState)

POST /api/system/command

Execute une commande système (validation de sécurité selon le mode dummy/expert)

Ollama

GET /api/ollama/diagnostic

Retourne le diagnostic complet : stats conteneur, système, modèles chargés et installés

POST /api/ollama/models/pull

Telecharge un modèle avec streaming SSE de la progression

DELETE /api/ollama/models

Supprime un modèle installe

Conteneurs

GET /api/containers

Liste tous les conteneurs Docker avec statut et statistiques

POST /api/containers/{action}

Actions sur un conteneur : start, stop, restart

Applications

GET /api/apps

Liste les applications détectées avec statut et metadonnées

POST /api/apps/install

Installe une application (streaming SSE des logs d'installation)

Chat

POST /api/chat

Envoie un message au chat Ollama (streaming SSE de la réponse)

Services

GET /api/services

Liste les services persistants configures

Whisper

GET /api/whisper/status

Verifie le statut du service Whisper ASR

POST /api/whisper/transcribe

Transcrit un fichier audio (multipart/form-data)

Certificats

GET /api/cert/info

Informations sur le certificat HTTPS Caddy

POST /api/cert/renew

Renouvelle le certificat HTTPS (streaming SSE)

GET /ca.crt

Telecharge le certificat CA au format PEM

Healthcheck

GET /health

Retourne "ok" si le service est opérationnel

Exemple de requete

Télécharger un modèle 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 système
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 système 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 entièrement disponible en 5 langues. La traduction est gérée côté client via l'objet I18N dans app.js et les attributs HTML data-i18n.

Langues supportées

CodeLangueInterface
enEnglishLangue par défaut
frFrancaisTraduction complète
esEspanolTraduction complète
ruRusskij (Russe)Traduction complète
zhZhongwen (Chinois)Traduction complète

Mecanisme de traduction

HTML - attribut data-i18n
<button data-i18n="refresh">Actualiser</button>
<span data-i18n-title="settings">Paramètres</span>
<input data-i18n-placeholder="chatPlaceholder">
JavaScript - fonction de traduction
function t(key) {
    return (I18N[currentLang] && I18N[currentLang][key])
        || I18N.en[key] || key;
}

Sécurité

Mode Dummy / Expert

Le validateur de sécurité (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 système (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 sécurisé

  • Le socket Docker est monte en lecture/ecriture pour la gestion des conteneurs
  • Les fichiers /etc de l'hote sont montes en lecture seule (:ro)
  • Le conteneur utilise --network host pour un accès direct aux services locaux
  • Le flag --gpus all donne accès uniquement a nvidia-smi, pas d'accès direct au GPU non supervisé

Installateur

  • Mot de passe SSH chiffré en mémoire avec AES-256-GCM (dérivé 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