Feat: LobeChat-Deployment-Artefakte (Hermes-Chat-Frontend) für Proxmox
deploy/lobechat/: docker-compose.yml (client-only, lobehub/lobe-chat), .env.example, README. Spricht den MC2-Gateway (:9001/v1) der AI-Box an, fixierte Modell-Liste + vorkonfigurierter Hermes-Assistent. Läuft auf dem Proxmox-MiniPC, nicht auf der AI-Box (hält die Box schlank). Ersetzt nesquena/ hermes-webui. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,13 @@
|
|||||||
|
# LobeChat-Konfiguration (auf dem Proxmox-MiniPC). Kopiere zu .env und anpassen.
|
||||||
|
|
||||||
|
# OpenAI-kompatibler Endpoint der AI-Box. Optionen:
|
||||||
|
# MC2-Gateway (empfohlen, model:auto + alle Modelle): http://192.168.178.151:9001/v1
|
||||||
|
# llama-swap direkt (nur Modell-Liste): http://192.168.178.151:8080/v1
|
||||||
|
# hermes-agent (Agent mit Tools/MCP, falls gewünscht): http://192.168.178.151:8642/v1
|
||||||
|
AI_BOX_GATEWAY=http://192.168.178.151:9001/v1
|
||||||
|
|
||||||
|
# Dummy-Key (lokale Endpoints prüfen ihn nicht):
|
||||||
|
OPENAI_API_KEY=mc2-local
|
||||||
|
|
||||||
|
# Zugangscode fürs Web-UI (PFLICHT — frei wählen):
|
||||||
|
ACCESS_CODE=bitte-aendern
|
||||||
@@ -0,0 +1,42 @@
|
|||||||
|
# LobeChat — Hermes-Chat-Frontend (ersetzt nesquena/hermes-webui)
|
||||||
|
|
||||||
|
Läuft auf dem **Proxmox-MiniPC** (nicht auf der AI-Box). Schlanke client-only Edition:
|
||||||
|
kein Postgres/Auth/S3, Verlauf liegt im Browser. Spricht über LAN den OpenAI-kompatiblen
|
||||||
|
**MC2-Gateway** der AI-Box an (`:9001/v1`, liefert `model:auto` + alle llama-swap-Modelle).
|
||||||
|
|
||||||
|
## Installation (auf dem Proxmox-Host bzw. einem LXC/VM mit Docker)
|
||||||
|
```bash
|
||||||
|
# In einem LXC/VM mit Docker + compose-Plugin:
|
||||||
|
mkdir -p ~/lobechat && cd ~/lobechat
|
||||||
|
# docker-compose.yml + .env.example aus diesem Ordner herkopieren
|
||||||
|
cp .env.example .env
|
||||||
|
nano .env # ACCESS_CODE setzen, AI_BOX_GATEWAY prüfen
|
||||||
|
docker compose up -d
|
||||||
|
```
|
||||||
|
Öffnen: `http://<proxmox-ip>:3210` → Zugangscode = `ACCESS_CODE`.
|
||||||
|
|
||||||
|
## Was ist vorkonfiguriert
|
||||||
|
- **Modell-Liste** auf `Hermes-4-14B`, `Qwen3.6-35B-A3B` (fast), `Qwen3-Coder-Next`,
|
||||||
|
`Qwen3.5-122B-A10B` (heavy) und `auto` fixiert (`OPENAI_MODEL_LIST`).
|
||||||
|
- **Hermes-Standardassistent** (Modell `Hermes-4-14B` + System-Prompt) via
|
||||||
|
`DEFAULT_AGENT_CONFIG`.
|
||||||
|
|
||||||
|
## Endpoint-Wahl (in `.env`)
|
||||||
|
- **MC2-Gateway `:9001/v1`** *(Default, empfohlen)* — OpenAI-kompatibel, `model:auto`,
|
||||||
|
Token-Tracking, alle Modelle.
|
||||||
|
- **llama-swap `:8080/v1`** — direkt, ohne Routing/Token-Tracking.
|
||||||
|
- **hermes-agent `:8642/v1`** — nur falls die Chat-UI den **Agenten** (Tools/MCP/Memory)
|
||||||
|
nutzen soll; API-Kompatibilität vorher prüfen.
|
||||||
|
|
||||||
|
## Cutover (alte hermes-webui ablösen)
|
||||||
|
Auf der **AI-Box**:
|
||||||
|
```bash
|
||||||
|
systemctl --user disable --now hermes-webui
|
||||||
|
```
|
||||||
|
In MC2 den „Hermes öffnen"-Link auf LobeChat zeigen lassen:
|
||||||
|
`HERMES_WEBUI_URL=http://<proxmox-ip>:3210` (env der `mission-control-2.service`).
|
||||||
|
|
||||||
|
## Hinweis
|
||||||
|
Tool-/Function-Calls streamt llama.cpp nicht nativ — für reine Chat-Nutzung irrelevant.
|
||||||
|
Bei Bedarf an persistenter History/RAG später auf die DB-Edition (Postgres+pgvector)
|
||||||
|
umstellen.
|
||||||
@@ -0,0 +1,25 @@
|
|||||||
|
# LobeChat als Hermes-Chat-Frontend — läuft auf dem Proxmox-MiniPC (Docker/LXC),
|
||||||
|
# NICHT auf der AI-Box. Spricht über LAN den OpenAI-kompatiblen MC2-Gateway der Box an.
|
||||||
|
# Client-only Edition (kein Postgres/Auth/S3) — bewusst schlank ("nicht overengineeren").
|
||||||
|
#
|
||||||
|
# Start: cp .env.example .env && $EDITOR .env && docker compose up -d
|
||||||
|
# Öffnen: http://<proxmox-ip>:3210 (Zugangscode = ACCESS_CODE)
|
||||||
|
|
||||||
|
services:
|
||||||
|
lobe-chat:
|
||||||
|
image: lobehub/lobe-chat:latest
|
||||||
|
container_name: lobe-chat
|
||||||
|
restart: unless-stopped
|
||||||
|
ports:
|
||||||
|
- "3210:3210"
|
||||||
|
environment:
|
||||||
|
# --- Provider: MC2-Gateway der AI-Box (OpenAI-kompatibel, liefert model:auto + alle Modelle) ---
|
||||||
|
- OPENAI_API_KEY=${OPENAI_API_KEY:-mc2-local}
|
||||||
|
- OPENAI_PROXY_URL=${AI_BOX_GATEWAY:-http://192.168.178.151:9001/v1}
|
||||||
|
# Modell-Auswahl auf unsere llama-swap-Modelle fixieren (-all entfernt Defaults):
|
||||||
|
- "OPENAI_MODEL_LIST=-all,+Hermes-4-14B,+Qwen3.6-35B-A3B,+Qwen3-Coder-Next,+Qwen3.5-122B-A10B,+auto"
|
||||||
|
# --- Hermes-Standardassistent (Modell + System-Prompt) ---
|
||||||
|
- "DEFAULT_AGENT_CONFIG=model=Hermes-4-14B;provider=openai;params.temperature=0.7;systemRole=Du bist Hermes, der lokale KI-Assistent dieses Homelabs. Antworte präzise, hilfsbereit und auf Deutsch, sofern nicht anders gewünscht."
|
||||||
|
# --- Zugriffsschutz im LAN (einfacher Code statt voller Auth) ---
|
||||||
|
- ACCESS_CODE=${ACCESS_CODE:?bitte in .env setzen}
|
||||||
|
- ACCESS_CODE_ENABLED=1
|
||||||
Reference in New Issue
Block a user