38 lines
1.1 KiB
Bash
38 lines
1.1 KiB
Bash
|
|
#!/usr/bin/env bash
|
||
|
|
|
||
|
|
# Zeigt Container- und HTTP-Status des lokalen LLM-Servers (llama.cpp).
|
||
|
|
# Name/Port ueber ENV ueberschreibbar: CONTAINER_NAME=... HOST_PORT=... ./status-llm-server.sh
|
||
|
|
|
||
|
|
CONTAINER_NAME="${CONTAINER_NAME:-va_llm}"
|
||
|
|
HOST_PORT="${HOST_PORT:-8001}"
|
||
|
|
|
||
|
|
check_server() {
|
||
|
|
local NAME="$1"
|
||
|
|
local PORT="$2"
|
||
|
|
|
||
|
|
printf "%-28s" "$NAME (Port $PORT):"
|
||
|
|
|
||
|
|
# Docker-Status
|
||
|
|
if docker ps --format '{{.Names}}' | grep -q "^${NAME}\$"; then
|
||
|
|
printf " Container=\033[32mRUNNING\033[0m"
|
||
|
|
elif docker ps -a --format '{{.Names}}' | grep -q "^${NAME}\$"; then
|
||
|
|
printf " Container=\033[33mSTOPPED\033[0m"
|
||
|
|
else
|
||
|
|
printf " Container=\033[31mNOT FOUND\033[0m"
|
||
|
|
echo
|
||
|
|
return
|
||
|
|
fi
|
||
|
|
|
||
|
|
# HTTP-Erreichbarkeit
|
||
|
|
if curl -s --max-time 3 "http://localhost:${PORT}/health" >/dev/null 2>&1 || \
|
||
|
|
curl -s --max-time 3 "http://localhost:${PORT}/v1/models" >/dev/null 2>&1; then
|
||
|
|
printf " HTTP=\033[32mOK\033[0m"
|
||
|
|
else
|
||
|
|
printf " HTTP=\033[31mNOT READY\033[0m"
|
||
|
|
fi
|
||
|
|
|
||
|
|
echo
|
||
|
|
}
|
||
|
|
|
||
|
|
echo "=== Voice-Assistant LLM-Server Status ==="
|
||
|
|
check_server "$CONTAINER_NAME" "$HOST_PORT"
|