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:
@@ -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 (00–10, 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.*
|
||||
Reference in New Issue
Block a user