mirror of
https://github.com/NVIDIA/dgx-spark-playbooks.git
synced 2026-04-26 03:43:52 +00:00
43 lines
1.0 KiB
Bash
43 lines
1.0 KiB
Bash
#!/bin/bash
|
|
set -e
|
|
|
|
# Start Ollama server in the background
|
|
echo "Starting Ollama server..."
|
|
/bin/ollama serve &
|
|
OLLAMA_PID=$!
|
|
|
|
# Wait for Ollama to be ready
|
|
echo "Waiting for Ollama to be ready..."
|
|
max_attempts=30
|
|
attempt=0
|
|
while [ $attempt -lt $max_attempts ]; do
|
|
if curl -s http://localhost:11434/api/tags > /dev/null 2>&1; then
|
|
echo "Ollama is ready!"
|
|
break
|
|
fi
|
|
attempt=$((attempt + 1))
|
|
sleep 2
|
|
done
|
|
|
|
if [ $attempt -eq $max_attempts ]; then
|
|
echo "ERROR: Ollama failed to start within the timeout period"
|
|
exit 1
|
|
fi
|
|
|
|
# Check if any models are present
|
|
echo "Checking for existing models..."
|
|
MODELS=$(curl -s http://localhost:11434/api/tags | grep -o '"models":\s*\[\]' || echo "has_models")
|
|
|
|
if [[ "$MODELS" == *'"models": []'* ]]; then
|
|
echo "No models found. Pulling llama3.1:8b..."
|
|
/bin/ollama pull llama3.1:8b
|
|
echo "Successfully pulled llama3.1:8b"
|
|
else
|
|
echo "Models already exist, skipping pull."
|
|
fi
|
|
|
|
# Keep the container running
|
|
echo "Setup complete. Ollama is running."
|
|
wait $OLLAMA_PID
|
|
|