mirror of
https://github.com/meta-llama/llama-stack.git
synced 2025-08-02 16:54:42 +00:00
fix(installer): add shared ‘llama-net’ CNI network for reliable connectivity
This commit is contained in:
parent
a363642734
commit
9ee93c1477
1 changed files with 17 additions and 15 deletions
32
install.sh
32
install.sh
|
@ -40,10 +40,8 @@ wait_for_service() {
|
||||||
|
|
||||||
if command -v docker &> /dev/null; then
|
if command -v docker &> /dev/null; then
|
||||||
ENGINE="docker"
|
ENGINE="docker"
|
||||||
HOST_DNS="host.docker.internal"
|
|
||||||
elif command -v podman &> /dev/null; then
|
elif command -v podman &> /dev/null; then
|
||||||
ENGINE="podman"
|
ENGINE="podman"
|
||||||
HOST_DNS="host.containers.internal"
|
|
||||||
else
|
else
|
||||||
die "Docker or Podman is required. Install Docker: https://docs.docker.com/get-docker/ or Podman: https://podman.io/getting-started/installation"
|
die "Docker or Podman is required. Install Docker: https://docs.docker.com/get-docker/ or Podman: https://podman.io/getting-started/installation"
|
||||||
fi
|
fi
|
||||||
|
@ -66,8 +64,8 @@ fi
|
||||||
if [ "$ENGINE" = "podman" ] && [ "$(uname -s)" = "Darwin" ]; then
|
if [ "$ENGINE" = "podman" ] && [ "$(uname -s)" = "Darwin" ]; then
|
||||||
if ! podman info &>/dev/null; then
|
if ! podman info &>/dev/null; then
|
||||||
log "⌛️ Initializing Podman VM…"
|
log "⌛️ Initializing Podman VM…"
|
||||||
podman machine init -q &>/dev/null || true
|
podman machine init &>/dev/null || true
|
||||||
podman machine start -q &>/dev/null || true
|
podman machine start &>/dev/null || true
|
||||||
|
|
||||||
log "⌛️ Waiting for Podman API…"
|
log "⌛️ Waiting for Podman API…"
|
||||||
until podman info &>/dev/null; do
|
until podman info &>/dev/null; do
|
||||||
|
@ -86,13 +84,21 @@ for name in ollama-server llama-stack; do
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
# 0. Create a shared network
|
||||||
|
###############################################################################
|
||||||
|
if ! $ENGINE network inspect llama-net >/dev/null 2>&1; then
|
||||||
|
log "🌐 Creating network…"
|
||||||
|
$ENGINE network create llama-net >/dev/null 2>&1
|
||||||
|
fi
|
||||||
|
|
||||||
###############################################################################
|
###############################################################################
|
||||||
# 1. Ollama
|
# 1. Ollama
|
||||||
###############################################################################
|
###############################################################################
|
||||||
log "🦙 Starting Ollama…"
|
log "🦙 Starting Ollama…"
|
||||||
|
|
||||||
$ENGINE run -d "${PLATFORM_OPTS[@]}" --name ollama-server \
|
$ENGINE run -d "${PLATFORM_OPTS[@]}" --name ollama-server \
|
||||||
-p "${OLLAMA_PORT}:11434" \
|
--network llama-net \
|
||||||
|
-p "${OLLAMA_PORT}:${OLLAMA_PORT}" \
|
||||||
ollama/ollama > /dev/null 2>&1
|
ollama/ollama > /dev/null 2>&1
|
||||||
|
|
||||||
if ! wait_for_service "http://localhost:${OLLAMA_PORT}/" "Ollama" "$WAIT_TIMEOUT" "Ollama daemon"; then
|
if ! wait_for_service "http://localhost:${OLLAMA_PORT}/" "Ollama" "$WAIT_TIMEOUT" "Ollama daemon"; then
|
||||||
|
@ -111,18 +117,14 @@ fi
|
||||||
###############################################################################
|
###############################################################################
|
||||||
# 2. Llama‑Stack
|
# 2. Llama‑Stack
|
||||||
###############################################################################
|
###############################################################################
|
||||||
if [ "$ENGINE" = "docker" ]; then
|
cmd=( run -d "${PLATFORM_OPTS[@]}" --name llama-stack \
|
||||||
NET_OPTS=( -p "${PORT}:${PORT}" --add-host="${HOST_DNS}:host-gateway" )
|
--network llama-net \
|
||||||
elif [ "$ENGINE" = "podman" ]; then
|
-p "${PORT}:${PORT}" \
|
||||||
NET_OPTS=( -p "${PORT}:${PORT}" )
|
|
||||||
fi
|
|
||||||
|
|
||||||
cmd=( run -d "${PLATFORM_OPTS[@]}" --name llama-stack "${NET_OPTS[@]}" \
|
|
||||||
"${SERVER_IMAGE}" --port "${PORT}" \
|
"${SERVER_IMAGE}" --port "${PORT}" \
|
||||||
--env INFERENCE_MODEL="${MODEL_ALIAS}" \
|
--env INFERENCE_MODEL="${MODEL_ALIAS}" \
|
||||||
--env OLLAMA_URL="http://${HOST_DNS}:${OLLAMA_PORT}" )
|
--env OLLAMA_URL="http://ollama-server:${OLLAMA_PORT}" )
|
||||||
|
|
||||||
log "🦙📦 Starting Llama‑Stack…"
|
log "🦙 Starting Llama‑Stack…"
|
||||||
$ENGINE "${cmd[@]}" > /dev/null 2>&1
|
$ENGINE "${cmd[@]}" > /dev/null 2>&1
|
||||||
|
|
||||||
if ! wait_for_service "http://127.0.0.1:${PORT}/v1/health" "OK" "$WAIT_TIMEOUT" "Llama-Stack API"; then
|
if ! wait_for_service "http://127.0.0.1:${PORT}/v1/health" "OK" "$WAIT_TIMEOUT" "Llama-Stack API"; then
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue