Initial import: bare-metal stacks, Server UI, GPU fan, tutorials.

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>
This commit is contained in:
tomasz-syn-grzegorza
2026-07-05 12:02:04 +00:00
commit 359afb3a59
153 changed files with 18169 additions and 0 deletions
+113
View File
@@ -0,0 +1,113 @@
# Przygotowanie repozytorium pod Gitea
Raport z sesji przygotowującej pierwszy commit `ubuntu-bare-metal`.
## Analiza stanu wyjściowego
| Aspekt | Wynik |
|--------|--------|
| Git | Katalog **nie był** repozytorium — wykonano `git init` |
| Gitea remote | **Nie skonfigurowany** — URL do podania przez użytkownika |
| Pliki `.env` | 7 na dysku (sekrety) — **wykluczone** przez root `.gitignore` |
| `.venv` | `stacks/server-ui/.venv`, `stacks/gpu-fan/.venv` (~54 MB każdy) — **wykluczone** |
| Bloker bezpieczeństwa | Prawdziwy `API_KEY` w `manual-tutorial/04a-api-key.md`**zredagowany** na placeholder |
## Zmiany przygotowawcze (ta sesja)
1. **Root [`.gitignore`](../.gitignore)**`.env`, `.venv`, `__pycache__`, `upstream/`, `.cursor/`
2. **Redakcja** [`manual-tutorial/04a-api-key.md`](../manual-tutorial/04a-api-key.md) — przykład `API_KEY` to placeholder `xxxxxxxx…`, nie produkcyjny klucz
3. **`git init`** + branch `main`
4. **Pierwszy commit** — pełny import repo (bez push)
## Zakres pierwszego commita
```
ubuntu-bare-metal/
├── README.md
├── .gitignore
├── scripts/
├── manual-tutorial/ # 13 rozdziałów (0010, 04a)
├── coding-agent/ # handoff, ADR, deployment notes
└── stacks/
├── vllm/
├── localai/
├── comfyui/
├── gpu-fan/
├── server-ui/ # panel :8091, CLI PTY, Pliki, GPU Fan
├── control-plane/ # env_loader, wspólny API_KEY
├── npmplus/
└── llamacpp/
```
### Nie trafia do gita
- `**/.env` (produkcja: `/opt/control-plane/.env` poza repo)
- `**/.venv/`, `**/__pycache__/`
- `stacks/localai/upstream/` (jeśli sklonowany lokalnie)
## Ostatnie zmiany Server UI (GPU Fan chart)
W [`stacks/server-ui/static/index.html`](../stacks/server-ui/static/index.html):
- Siatka i podziałka temperatury (°C) / prędkości (%)
- Linijki kreskowe (zamiast kolorowych pasków gradientowych)
- Odstęp etykiet Y od lewej linijki (`yLabelX`)
- Odstęp etykiet X od dolnej linijki (`xLabelY`)
- Responsywne SVG: `aspect-ratio: 600/360`, `height: auto` (bez rozciągania na mobile)
- Wyśrodkowanie wykresu w karcie: `margin: 0 auto`
Powiązane docs: [`manual-tutorial/06-gpu-fan-control.md`](../manual-tutorial/06-gpu-fan-control.md), [`SERVER-UI-CLI.md`](SERVER-UI-CLI.md), [`SERVER-UI-CLI-BUGFIX.md`](SERVER-UI-CLI-BUGFIX.md).
## Push na Gitea (gdy masz URL)
```bash
cd ~/cursor/ubuntu-bare-metal
# jednorazowo — podstaw URL z Gitea (SSH lub HTTPS)
git remote add origin <URL_GITEA>
# jeśli repo na Gitea ma już README / initial commit:
# git pull origin main --allow-unrelated-histories
# (rozwiąż ewentualne konflikty, potem push)
git push -u origin main
```
Przykładowe URL:
- HTTPS: `https://gitea.example.com/user/ubuntu-bare-metal.git`
- SSH: `git@gitea.example.com:user/ubuntu-bare-metal.git`
## Checklist bezpieczeństwa przed każdym commitem
```bash
cd ~/cursor/ubuntu-bare-metal
# 1. Brak sekretów w staged plikach
git diff --cached | grep -iE 'API_KEY=|HF_TOKEN=|password=|secret=' && echo 'STOP: sekret w diff!' || echo 'OK'
# 2. .env nie jest śledzony
git status --short | grep '\.env' && echo 'STOP: .env w staging!' || echo 'OK'
# 3. Dry-run — co trafi do commita
git add -n .
# 4. Szukaj przypadkowych kluczy w docs
grep -rE '[a-f0-9]{32}' manual-tutorial/ coding-agent/ --include='*.md' | grep -v xxxxxxxx
```
## Zalecenia po redakcji klucza w tutorialu
Klucz produkcyjny był kiedyś w `04a-api-key.md`. Rozważ **rotację** `API_KEY` w `/opt/control-plane/.env` i restart `server-ui` / `gpu-fan`, jeśli repo będzie publiczne lub współdzielone.
## Weryfikacja po clone na innym hoście
```bash
git clone <URL_GITEA> ubuntu-bare-metal
cd ubuntu-bare-metal/stacks/control-plane
cp .env.example .env # uzupełnij API_KEY lokalnie
```
---
*Wygenerowano przy pierwszym imporcie git — lipiec 2026.*