d73075bea0
ROOT CAUSE: Die Unit pinnte MC_ENGINE_UPDATE_CMD=/usr/local/bin/update-llamacpp — ein Alt-Skript aus der ROCm-Zeit, das den ROCm-Build nach /opt/llamacpp (totes Rollback-Dir) zog statt des aktiven Vulkan-Builds nach /opt/llamacpp-vulkan. Es endete mit 0 → Job "DONE", aber die aktive Engine blieb auf 9821. Mein deploy/update-engine.sh lag dadurch komplett brach. Fix: Pin aus der Unit raus → Backend nutzt den Default `sudo bash <repo>/deploy/update-engine.sh`. Zusätzlich (vom User vermutet): mit geladenem Modell laeuft llama-server → die Binary ist "Text file busy", in-place ueberschreiben scheitert. update-engine.sh und update-swap.sh stoppen llama-swap jetzt VOR dem Austausch und starten danach, mit robustem Fehlerpfad (set -uo statt -e, Service kommt immer zurueck, sonst Rollback aus .bak). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
33 lines
1.4 KiB
Desktop File
33 lines
1.4 KiB
Desktop File
# systemd-USER-Unit für Mission Control 2.0 (PARALLEL zu v1, Port 9001).
|
|
# Läuft sudo-frei aus dem Home-Verzeichnis (Nordstern: kein Passwort/sudo).
|
|
# Ablage: ~/.config/systemd/user/mission-control-2.service ; dann:
|
|
# systemctl --user daemon-reload
|
|
# systemctl --user enable --now mission-control-2
|
|
# loginctl enable-linger hitonabi # läuft auch ohne aktive Session
|
|
|
|
[Unit]
|
|
Description=Mission Control 2.0 (Cockpit)
|
|
After=network-online.target
|
|
Wants=network-online.target
|
|
|
|
[Service]
|
|
Type=simple
|
|
WorkingDirectory=%h/mission-control-v2/backend
|
|
ExecStart=%h/mission-control-v2/backend/.venv/bin/python -m uvicorn app:app --host 0.0.0.0 --port 9001
|
|
Environment=MC_PORT=9001
|
|
Environment=MC_LLAMA_SWAP_URL=http://127.0.0.1:8080
|
|
Environment=MC_CONFIG_PATH=/etc/llama-swap/config.yaml
|
|
Environment=MC_MODELS_DIR=/srv/models
|
|
# Geteiltes Gedächtnis = die bestehende v1-DB (Kontinuität bis/über Cutover).
|
|
Environment=MC_MEMORY_DB=/srv/models/mission-control-memory.db
|
|
# KEIN MC_ENGINE_UPDATE_CMD-Override mehr: Das alte /usr/local/bin/update-llamacpp zog den
|
|
# ROCm-Build nach /opt/llamacpp (totes Rollback-Dir) statt des aktiven Vulkan-Builds → Updates
|
|
# liefen ins Leere ("DONE", aber nichts passierte). Ohne Override nutzt das Backend den Default
|
|
# `sudo bash <repo>/deploy/update-engine.sh` (Vulkan, mit Backup/Stack-Check/Auto-Rollback).
|
|
Restart=on-failure
|
|
|
|
RestartSec=3
|
|
|
|
[Install]
|
|
WantedBy=default.target
|