NVIDIA DGX Spark
Обща информация
| Параметър | Стойност |
|---|---|
| Hostname | gx10-804f |
| LAN IP | 10.42.9.37 |
| Потребител | rosen |
| GPU | NVIDIA (CUDA 12.8) |
| Роля | ASR сървър (speech-to-text) + vLLM post-processing |
| Достъп | LAN only + Cloudflare Tunnel (dictaro-pro) |
| GitHub Runner | Self-hosted runner с label dgx-spark |
Архитектура
Docker Compose услуги
| Услуга | Image | Порт | GPU | Описание |
|---|---|---|---|---|
asr | Custom (Dockerfile.cuda128) | 8765 | Да | Основен ASR с faster-whisper |
dashboard | Custom | 8766 | Не | Уеб интерфейс за мониторинг |
llm | vLLM | 8000 | Да | LLM за post-processing (Gemma 3 12B) |
proxy | nginx | - | Не | Reverse proxy, routing, метрики endpoints |
data-collector | Custom | 8767 | Не | Сайдкар за Azure Blob + Log Analytics |
node-exporter | prom/node-exporter | 9100 | Не | Системни метрики (CPU, RAM, disk) |
dcgm-exporter | nvidia/dcgm-exporter | 9400 | Да | GPU метрики (температура, натоварване, памет) |
promtail | grafana/promtail | - | Не | Изпращане на логове към Loki |
Деплоймент
ASR сървърът се деплойва автоматично чрез GitHub Actions (deploy-asr.yml):
- Workflow се тригва от push в
server/или ръчно - Изпълнява се на self-hosted runner
[dgx-spark] - Проверява GPU наличност с
nvidia-smi - Издърпва Docker image-и и билдва ASR стека
- Health check: до 30 опита × 5 секунди на
http://localhost:8765/health
Секрети
| Секрет | Описание |
|---|---|
ASR_SERVER_API_KEY | API ключ за автентикация на клиенти |
CLOUDFLARE_TUNNEL_TOKEN | Token за dictaro-pro tunnel |
HF_TOKEN | Hugging Face token за сваляне на модели |
AZURE_STORAGE_CONNECTION_STRING | За data-collector → Azure Blob |
LOG_ANALYTICS_DCE_ENDPOINT | Data Collection Endpoint |
LOG_ANALYTICS_DCR_RULE_ID | Data Collection Rule ID |
AZURE_CLIENT_ID/SECRET/TENANT_ID | За data-collector Azure auth |
Поддръжка
Проверка на състоянието
ssh rosen@10.42.9.37
cd ~/whisper-keyboard/server
docker compose ps
nvidia-smi
curl http://localhost:8765/health
Рестартиране
docker compose down && docker compose up -d --build
Логове
docker compose logs asr --tail 100 -f
docker compose logs llm --tail 100 -f