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.

Plateforme cible NVIDIA GB10 Grace Blackwell - Architecture ARM64 (aarch64) avec GPU integre. L'application fonctionne en tant que conteneur Docker avec acces au socket Docker et au GPU via --gpus all.
GB10 Manager - Vue principale
Ollama: running
Systeme Containers Applicatif A propos
Informations Systeme
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 reel
CPU
23%
GPU
45%
RAM
61%
Temp 42°C
GPU T 58°C
Power 185W

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

+--[ Client Web ]--------------------------------------+ | Navigateur (HTTPS via Caddy) | | -> https://gb10-louis.local:8100 | +-----|------------------------------------------------+ | +-----|------------------------------------------------+ | [ Caddy Reverse Proxy ] (port 443 -> 8100) | | Certificat TLS interne auto-genere | +-----|------------------------------------------------+ | +-----|------------------------------------------------+ | [ Docker Host - NVIDIA GB10 ARM64 ] | | | | +--[ gb10-manager container ]--------------------+ | | | Go 1.22+ (embed.FS) | | | | Port 8100 (--network host) | | | | --gpus all (acces 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 supportees)| | | +------------------------------------------------+ | +------------------------------------------------------+

Stack technique

ComposantTechnologieDetails
BackendGo 1.22+ServeMux ameliore, embed.FS pour fichiers statiques
FrontendHTML/CSS/JS vanillaZero dependance, theme Catppuccin, i18n integre
ConteneurisationDocker (ARM64)Image basee sur Ubuntu 24.04 avec Docker CLI, webssh
LLMOllamaAPI HTTP localhost:11434, support natif ou Docker
GPUNVIDIA BlackwellAcces via nvidia-smi, flag --gpus all
TLSCaddyCertificats TLS internes auto-generes
SSHWebSSH (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

  1. Copiez le dossier releases/ sur votre poste Windows
  2. Lancez gb10-installer.exe - une interface web s'ouvre dans le navigateur
  3. Etape 1 - Connexion : Saisissez l'adresse IP, le port SSH (22), l'utilisateur et le mot de passe
  4. Etape 2 - Configuration : Choisissez le repertoire de destination (/opt/gb10-manager par defaut)
  5. Etape 3 - Installation : Suivez la progression en temps reel (SSE streaming)
  6. Etape 4 - Modeles : Selectionnez et telechargez les modeles Ollama souhaites
Securite Le mot de passe SSH est chiffre en memoire 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 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

FlagRole
--network hostPartage le reseau de l'hote (acces direct aux services et Ollama)
--gpus allDonne acces a nvidia-smi pour les stats GPU
--restart unless-stoppedRedemarrage automatique sauf arret manuel
-v /var/run/docker.sockPermet de gerer les conteneurs Docker depuis l'application
-v /etc:/host-etc:roAcces en lecture seule a la configuration de l'hote (certificats, etc.)

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 systeme
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 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.

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

Metriques temps reel : CPU, GPU, RAM, temperatures, puissance et frequences

MetriqueSourceDescription
CPU/proc/statPourcentage d'utilisation CPU global
GPUnvidia-smiUtilisation du GPU (compute)
RAM/proc/meminfoPourcentage de memoire utilisee
Temp/sys/class/thermalTemperature CPU/SoC
GPU Tempnvidia-smiTemperature du GPU
GPU Powernvidia-smiConsommation electrique du GPU (watts)
GPU Clocknvidia-smiFrequence d'horloge GPU (MHz)
PStatenvidia-smiEtat 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.

Attention Le mode Expert permet d'executer des commandes systeme critiques. Toute commande est soumise a une validation avant execution. Utilisez-le avec precaution.

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
Diagnostic Ollama Actualiser
Conteneur Ollama
CPU12.5%
RAM8.2 GB
Limite64 GB
NET I/O1.2G / 450M
DISK I/O12G / 8.5G
PIDs24
Systeme
RAM Totale128 GB
RAM Utilisee78 GB
RAM Dispo50 GB
Swap0 / 16 GB
GPUBlackwell
GPU Util45%
GPU Temp58°C
GPU VRAM12/96 GB
Modeles charges en memoire
llama3.1:8b 4.6 GB VRAM - expires in 4m32s
Modeles installes
llama3.1:8b
4.6 GBSupprimer
qwen2.5:3b
1.8 GBSupprimer
nomic-embed-text:latest
262 MBSupprimer
Telecharger un modele
Telecharger

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 OllamaUsage
GET /api/tagsListe des modeles installes
GET /api/psModeles charges en memoire
POST /api/pullTelecharger un modele (streaming)
DELETE /api/deleteSupprimer 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).

Conteneurs Docker
Ollama: running
Systeme 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 : 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.

Onglet Applications
Systeme 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 supportees (36 services)

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

ServicePortDescription
open-webui3000Interface web pour modeles 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 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.

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

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.

Parametres - General
General Options Theme Systemes Certificat
Langue d'affichage
Choisissez la langue de l'interface.
Mode d'execution
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 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.

Parametres - Options
General Options Theme Systemes Certificat
Chat IA (Ollama)
Affiche le panneau de chat IA en bas de page.
Afficher le chat IA
Modele Ollama
Selectionnez le modele par defaut utilise par le chat IA.
Modele par defaut
Popup de compliment
Affiche un message positif a chaque ouverture.
Activer la popup

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.

Parametres - Themes
General Options Theme Systemes 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 defaut
MochaSombre chaud (#1e1e2e)Catppuccin Mocha - contrastes adoucis
MacchiatoSombre moyen (#24273a)Catppuccin Macchiato - intermediaire
FrappeSombre gris (#303446)Catppuccin Frappe - tons gris-bleu
LatteClair (#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

ParametreCommandeEditable
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 systeme, le bouton "Analyser" envoie la modification proposee a Ollama qui evalue les risques et recommande l'action. L'utilisateur doit ensuite confirmer l'application via la modale d'authentification (mot de passe sudo requis).

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
Attention au renouvellement Le renouvellement du certificat supprime l'ancienne PKI. Tous les appareils connectes devront reinstaller le nouveau certificat CA pour eviter les avertissements HTTPS.

API Reference

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

Systeme

GET /api/system/info

Retourne les informations systeme (hostname, OS, kernel, CPU, RAM, GPU, disque, Docker, uptime)

GET /api/system/stats

Retourne les statistiques temps reel (CPU%, GPU%, RAM%, temperatures, puissance, frequences, PState)

POST /api/system/command

Execute une commande systeme (validation de securite selon le mode dummy/expert)

Ollama

GET /api/ollama/diagnostic

Retourne le diagnostic complet : stats conteneur, systeme, modeles charges et installes

POST /api/ollama/models/pull

Telecharge un modele avec streaming SSE de la progression

DELETE /api/ollama/models

Supprime un modele 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 detectees avec statut et metadonnees

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 reponse)

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 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

CodeLangueInterface
enEnglishLangue par defaut
frFrancaisTraduction complete
esEspanolTraduction complete
ruRusskij (Russe)Traduction complete
zhZhongwen (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 /etc de l'hote sont montes en lecture seule (:ro)
  • Le conteneur utilise --network host pour un acces direct aux services locaux
  • Le flag --gpus all donne 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