GB10 Manager v1.0.0
GB10 Manager is a web application for system and application management designed specifically for the NVIDIA GB10 Grace Blackwell. It provides a modern and intuitive interface to monitor, configure and deploy services on the ARM64 platform.
--gpus all.
Main interface with System tab active
Features
System Monitoring
CPU, GPU, RAM, temperatures, GPU power, frequencies and PState in real-time.
Diagnostic Ollama
Container stats, loaded/installed models, download and delete models.
Docker Management
List, start, stop and statistics of running Docker containers.
Application Management
Install, configure and monitor applications with AI assistance.
5 Catppuccin Themes
Default, Mocha, Macchiato, Frappe and Latte. Full interface customization.
5 Languages
English, French, Spanish, Russian and Chinese. Fully translatable interface.
Mode Dummy / Expert
Secure mode by default. Expert mode with SSH terminal and system commands.
Whisper ASR
Integrated audio transcription (MP3, WAV, M4A). Multi-model and multi-language support.
HTTPS Certificate
Caddy SSL certificate management, CA download and integrated renewal.
Architecture
GB10 Manager is a Go application with an embedded web frontend, deployed as a Docker container on the GB10.
Architecture Diagram
Technical Stack
| Component | Technology | Details |
|---|---|---|
| Backend | Go 1.22+ | Enhanced ServeMux, embed.FS for static files |
| Frontend | HTML/CSS/JS vanilla | Zero dependencies, Catppuccin theme, built-in i18n |
| Containerization | Docker (ARM64) | Ubuntu 24.04 image with Docker CLI, webssh |
| LLM | Ollama | HTTP API localhost:11434, native or Docker support |
| GPU | NVIDIA Blackwell | Access via nvidia-smi, --gpus all flag |
| TLS | Caddy | Auto-generated internal TLS certificates |
| SSH | WebSSH (Python) | Integrated web SSH terminal for Expert mode |
Prerequisites
- NVIDIA GB10 Grace Blackwell with Ubuntu 24.04 LTS
- Docker Engine installed and running
- NVIDIA Container Toolkit for GPU access (
--gpus all) - Ollama installed (native or Docker container) on port 11434
- Caddy (optional) for HTTPS reverse proxy
- SSH access to the GB10 server
Graphical Installer
The gb10-installer.exe installer is a standalone Windows binary that deploys
GB10 Manager automatically to a remote GB10 server via SSH.
Usage
- Copy the
releases/folder to your Windows machine - Launch
gb10-installer.exe- a web interface opens in the browser - Step 1 - Connection: Enter the IP address, SSH port (22), username and password
- Step 2 - Configuration: Choose the destination directory (
/opt/gb10-managerby default) - Step 3 - Installation: Follow progress in real-time (SSE streaming)
- Step 4 - Models: Select and download desired Ollama models
Releases directory contents
releases/
gb10-installer.exe # Windows installer (UPX compressed)
payload/
gb10-manager # ARM64 Linux binary (UPX compressed)
Dockerfile # Dockerfile for the gb10-manager container
docs.tar.gz # Web documentation (gb10-docs container)
Manual Installation
1. Copy files to the server
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. Build Docker image
cd /opt/gb10-manager
docker build --no-cache -t gb10-manager:latest -f Dockerfile .
3. Start the container
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
Docker flags explained
| Flag | Purpose |
|---|---|
--network host | Share host network (direct access to services and Ollama) |
--gpus all | Gives access to nvidia-smi for GPU stats |
--restart unless-stopped | Auto-restart unless manually stopped |
-v /var/run/docker.sock | Allows managing Docker containers from the application |
-v /etc:/host-etc:ro | Read-only access to host configuration (certificates, etc.) |
Header and Navigation
The header displays the server name (GB10 hostname), Ollama status in real-time and access to settings. Main navigation uses four tabs.
Header with server name, Ollama status, tabs and quick links
Header Components
- Server name: Displays the GB10 hostname (Orbitron font, blue gradient). Dynamically fetched via
/api/system/info. - Ollama indicator: Green (online) or red (offline) dot with status text. Periodic check via
/api/ollama/diagnostic. - Settings button: Gear icon opening the settings modal.
Quick Links Bar
Automatically displays links to detected Docker services. Each link
points to https://hostname:port and opens in a new tab.
Recognized services include: Open WebUI, Whisper ASR, DocMind AI, Stirling PDF,
Obsidian and any application configured with an exposed port.
System Tab
The main tab displays GB10 system information, real-time statistics and the complete Ollama diagnostic.
System Information Cards
Cards display the server hardware and software information:
GB10 system information cards
Real-time Statistics
Statistics are automatically refreshed every 3 seconds via the endpoint
GET /api/system/stats. Each metric is shown with a
progress bar and a numeric value.
Real-time metrics: CPU, GPU, RAM, temperatures, power and frequencies
| Metric | Source | Description |
|---|---|---|
| CPU | /proc/stat | Global CPU usage percentage |
| GPU | nvidia-smi | GPU utilization (compute) |
| RAM | /proc/meminfo | Memory usage percentage |
| Temp | /sys/class/thermal | CPU/SoC temperature |
| GPU Temp | nvidia-smi | GPU temperature |
| GPU Power | nvidia-smi | GPU power consumption (watts) |
| GPU Clock | nvidia-smi | GPU clock frequency (MHz) |
| PState | nvidia-smi | GPU performance state (P0-P12) |
Dummy / Expert Mode
The Dummy mode (by default) blocks execution of potentially dangerous commands. The Expert mode unlocks all commands and enables the SSH Terminal button which opens an interactive WebSSH terminal to the GB10.
Ollama Diagnostic
The Ollama Diagnostic section provides a complete view of the Ollama service status, consumed resources, loaded models in memory and installed models. It also allows downloading or deleting models.
Complete Ollama diagnostic: container, system, models and download
Diagnostic Features
- Container stats: CPU, RAM, memory limits, network and disk I/O, PID count
- System stats: Total/used/available RAM, swap, GPU (name, utilization, temperature, VRAM)
- Loaded models: List of models currently in GPU memory with expiration time
- Installed models: All downloaded models with size and delete button
- Download a model: Input field with real-time SSE progress (bar + percentage)
Ollama APIs Used
| Ollama Endpoint | Usage |
|---|---|
GET /api/tags | List of installed models |
GET /api/ps | Models loaded in memory |
POST /api/pull | Download a model (streaming) |
DELETE /api/delete | Delete a model |
Docker Containers
The Containers tab displays all Docker containers on the system with their status, resource usage and quick actions (start, stop, restart).
Docker containers list with status and statistics
Displayed Information
- Name: Docker container name
- Uptime: Duration since startup or last exit
- Resources: CPU and RAM usage (auto-refresh)
- Status: Colored badge (running = green, stopped = red)
- Actions: Start, stop or restart the container (Expert mode)
Applications
The Applications tab offers an advanced management interface for deployed services. It includes a sidebar with the list of detected applications and a detail panel with information, logs and available actions.
Application management interface with service details
Supported Applications (36 services)
GB10 Manager automatically recognizes 36 pre-configured Docker services, including:
| Service | Port | Description |
|---|---|---|
| open-webui | 3000 | Web interface for LLM models (Ollama) |
| whisper-asr | 9000 | Audio transcription (Faster Whisper) |
| docmind-ai | 8501 | AI document analysis |
| stirling-pdf | 8080 | Complete PDF tools |
| ollama | 11434 | LLM inference server |
| obsidian | 80 | Note-taking (Markdown) |
| n8n | 5678 | Workflow automation |
| code-server | 8443 | VS Code in the browser |
| jupyter | 8888 | Notebooks Jupyter |
| grafana | 3001 | Monitoring dashboards |
... and 26 more services (PostgreSQL, Redis, MinIO, Milvus, Home Assistant, etc.)
Installing a New Application
The + Install button opens a modal to specify the application name, installation method (Docker, APT, Snap) and version. The Ask AI button uses Ollama to generate optimal installation commands.
AI Chat (Ollama)
The chat panel at the bottom of the page allows interacting with Ollama for help with installation, configuration and troubleshooting. Commands suggested by the AI can be executed directly after validation.
docker run -d --name postgres -p 5432:5432 -e POSTGRES_PASSWORD=secret postgres:16
AI Chat with Ollama - interactive assistance
Chat Features
- SSE Streaming: Responses arrive word by word in real-time
- History: Conversation history is preserved during the session
- Command execution: Commands in AI suggestions can be executed with one click (with validation)
- Configurable model: The Ollama model used is configurable in settings
- Collapsible panel: The chat can be shown/hidden via the toggle in options
Settings - General
The settings modal is accessible via the gear icon in the header. The General tab contains language, execution mode, persistent services and system information.
General settings tab
Settings - Options
The Options tab controls interface behavior: AI chat, default Ollama model and compliment popup on startup.
Chat options, AI model and popup settings
Settings - Themes
GB10 Manager supports 5 visual themes based on the Catppuccin. Each theme changes the background, text, accent, success, warning and error colors.
Catppuccin theme selection
Available Themes
| Theme | Background | Style |
|---|---|---|
| Default | Dark (#0d1117) | GitHub Dark - default theme |
| Mocha | Warm dark (#1e1e2e) | Catppuccin Mocha - softened contrasts |
| Macchiato | Medium dark (#24273a) | Catppuccin Macchiato - intermediate |
| Frappe | Dark grey (#303446) | Catppuccin Frappe - grey-blue tones |
| Latte | Light (#eff1f5) | Catppuccin Latte - light theme |
Settings - System
The System tab allows modifying GB10 system settings: hostname, timezone, DNS, locale. Each change is analyzed by AI before application to ensure system stability.
Modifiable Settings
| Setting | Command | Editable |
|---|---|---|
| Hostname | hostnamectl set-hostname | Yes (AI analysis) |
| Timezone | timedatectl set-timezone | Yes (AI analysis) |
| DNS Server | resolvectl | Yes (AI analysis) |
| NTP | timedatectl | Read-only |
| Swap | swapon --show | Read-only |
| Locale | localectl set-locale | Yes (AI analysis) |
Settings - HTTPS Certificate
The Certificate tab manages SSL certificates generated by Caddy for HTTPS.
Features
- Caddy Status: Shows if Caddy is running
- Certificate Info: Active certificate details (issuer, validity, subject)
- CA Download: Download the CA certificate to install in your browser or operating system
- Renewal: Deletes and regenerates Caddy's internal PKI. All clients must reinstall the new CA certificate after renewal
API Reference
GB10 Manager exposes a REST API on port 8100. All endpoints return JSON unless otherwise specified.
System
Returns system information (hostname, OS, kernel, CPU, RAM, GPU, disque, Docker, uptime)
Returns real-time statistics (CPU%, GPU%, RAM%, temperatures, power, frequencies, PState)
Executes a system command (security validation based on dummy/expert mode)
Ollama
Returns complete diagnostics: container stats, system, loaded and installed models
Downloads a model with SSE streaming of the progress
Deletes an installed model
Containers
Lists all Docker containers with status and statistics
Actions on a container: start, stop, restart
Applications
Lists detected applications with status and metadata
Installs an application (SSE streaming of installation logs)
Chat
Envoie un message au chat Ollama (streaming SSE de la reponse)
Services
Lists configured persistent services
Whisper
Verifie le statut du service Whisper ASR
Transcribes an audio file (multipart/form-data)
Certificates
HTTPS Caddy certificate information
Renews the HTTPS certificate (SSE streaming)
Downloads the CA certificate in PEM format
Healthcheck
Returns "ok" if the service is operational
Example de requete
Download a model 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"}
System information
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",
...
}
Docker Configuration
Dockerfile (gb10-manager)
FROM ubuntu:24.04
# Required system tools
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
Internationalization (i18n)
The interface is fully available in 5 languages. Translation is handled client-side
via the I18N object in app.js and the HTML attributes
data-i18n.
Supported languages
| Code | Language | Interface |
|---|---|---|
en | English | Default language |
fr | French | Full translation |
es | Spanish | Full translation |
ru | Russkij (Russian) | Full translation |
zh | Zhongwen (Chinese) | Full translation |
Translation mechanism
HTML - attribut data-i18n
<button data-i18n="refresh">Actualiser</button>
<span data-i18n-title="settings">Parametres</span>
<input data-i18n-placeholder="chatPlaceholder">
JavaScript - translation function
function t(key) {
return (I18N[currentLang] && I18N[currentLang][key])
|| I18N.en[key] || key;
}
Security
Dummy / Expert Mode
The security validator (security/validator.go) analyzes each command
submitted and blocks dangerous operations in Dummy mode:
- Commands
rm -rf,mkfs,dd,shutdown,reboot - Modifications de
/etc/passwd,/etc/shadow - Redirection to devices (
/dev/sda, etc.) - In Expert mode: all commands are authorized with user validation
Authentification
System operations (hostname modification, DNS, etc.) require authentication via sudo password. The password is transmitted only for the current operation and is never stored.
Secured container
- The Docker socket is mounted read/write for container management
- The host
/etcfiles are mounted read-only (:ro) - The container uses
--network hostfor direct access to local services - Le flag
--gpus allprovides access only to nvidia-smi, no unsupervised direct GPU access
Installer
- SSH password encrypted in memory with AES-256-GCM (PBKDF2 key derivation)
- Never written to disk in plain text
- SSH connection with 10-second timeout
- Keyboard-interactive support in addition to password authentication