359afb3a59
Infrastructure configs for GMKtec K11 (Docker, vLLM, LocalAI, ComfyUI, control-plane, gpu-fan agent, Server UI with CLI/file explorer/GPU fan curve). Co-authored-by: Cursor <cursoragent@cursor.com>
128 lines
2.6 KiB
Markdown
128 lines
2.6 KiB
Markdown
# Instalacja GPU Fan — krok po kroku
|
|
|
|
**Cel:** Zainstalować sterowanie wentylatorami GPU na serwerze.
|
|
**Czas:** ~10 minut
|
|
**Wymagania:** `sudo`, działający `nvidia-smi`, internet (pip)
|
|
|
|
---
|
|
|
|
## Krok 0 — Sprawdź kartę graficzną
|
|
|
|
Na serwerze wpisz:
|
|
|
|
```bash
|
|
nvidia-smi
|
|
```
|
|
|
|
**Co zobaczysz gdy OK:** tabela z nazwą karty (np. RTX 3090 Ti), driverem, temperaturą.
|
|
|
|
**Gdy nie działa:** najpierw napraw sterownik NVIDIA. Bez tego GPU Fan nie ma sensu.
|
|
|
|
---
|
|
|
|
## Krok 1 — Wejdź do katalogu stacku
|
|
|
|
```bash
|
|
cd ~/cursor/ubuntu-bare-metal/stacks/gpu-fan
|
|
```
|
|
|
|
(Ścieżka może być inna — ważne żebyś był w folderze z plikiem `app.py`.)
|
|
|
|
---
|
|
|
|
## Krok 2 — Zainstaluj na hoście (NIE Docker)
|
|
|
|
```bash
|
|
sudo scripts/install.sh
|
|
```
|
|
|
|
Skrypt:
|
|
- kopiuje pliki do `/opt/gpu-fan`
|
|
- tworzy `/etc/gpu-fan/curve.json` (domyślna krzywa chłodzenia)
|
|
- tworzy `/opt/control-plane/.env` z losowym `API_KEY` (przy pierwszej instalacji)
|
|
- instaluje usługę systemd `gpu-fan`
|
|
|
|
**Co zobaczysz gdy OK:** komunikat „Installed to /opt/gpu-fan” i instrukcja startu.
|
|
|
|
---
|
|
|
|
## Krok 3 — Włącz dostęp z sieci lokalnej (LAN)
|
|
|
|
```bash
|
|
sudo scripts/enable-lan.sh
|
|
```
|
|
|
|
Ustawia nasłuch na `0.0.0.0:8090` i upewnia się że jest `API_KEY`.
|
|
|
|
---
|
|
|
|
## Krok 4 — Uruchom usługę
|
|
|
|
```bash
|
|
sudo systemctl start gpu-fan
|
|
sudo systemctl enable gpu-fan
|
|
```
|
|
|
|
`enable` = start automatyczny po restarcie serwera.
|
|
|
|
---
|
|
|
|
## Krok 5 — Sprawdź czy działa
|
|
|
|
```bash
|
|
sudo systemctl status gpu-fan
|
|
```
|
|
|
|
**Co zobaczysz gdy OK:** `Active: active (running)` na zielono.
|
|
|
|
Logi na żywo:
|
|
|
|
```bash
|
|
journalctl -u gpu-fan -f
|
|
```
|
|
|
|
(Wyjdź: Ctrl+C)
|
|
|
|
Test API (skopiuj całość):
|
|
|
|
```bash
|
|
API_KEY=$(grep ^API_KEY= /opt/control-plane/.env | cut -d= -f2)
|
|
curl -s http://127.0.0.1:8090/api/status -H "X-API-Key: $API_KEY" | head -c 200
|
|
```
|
|
|
|
**Co zobaczysz gdy OK:** JSON z `"temperature_c"` i `"mode"`.
|
|
|
|
---
|
|
|
|
## Krok 6 — Otwórz panel w przeglądarce
|
|
|
|
→ [02-OTWIERANIE-UI-W-PRZEGLADARCE.md](02-OTWIERANIE-UI-W-PRZEGLADARCE.md)
|
|
|
|
---
|
|
|
|
## Po aktualizacji kodu w repo
|
|
|
|
Jeśli zmieniłeś pliki w `stacks/gpu-fan/`:
|
|
|
|
```bash
|
|
cd ~/cursor/ubuntu-bare-metal/stacks/gpu-fan
|
|
sudo scripts/install.sh
|
|
sudo systemctl restart gpu-fan
|
|
```
|
|
|
|
---
|
|
|
|
## Czego NIE robić
|
|
|
|
| Nie rób tego | Dlaczego |
|
|
|--------------|----------|
|
|
| `sudo scripts/start.sh` + `systemctl start gpu-fan` naraz | Dwa programy na porcie 8090 — błąd |
|
|
| Instalacja w Dockerze | Nie wspierane — patrz [05-DLACZEGO-NIE-DOCKER.md](05-DLACZEGO-NIE-DOCKER.md) |
|
|
| Edycja tylko `stacks/control-plane/.env` | Produkcja czyta `/opt/control-plane/.env` |
|
|
|
|
---
|
|
|
|
## Co zrobić gdy nie działa
|
|
|
|
→ [04-CZESTE-BLEDY.md](04-CZESTE-BLEDY.md)
|