|
#!/bin/bash |
|
|
|
|
|
cleanup() { |
|
echo "Shutting down Ollama server..." |
|
pkill -f "ollama serve" |
|
exit 0 |
|
} |
|
|
|
|
|
|
|
trap cleanup SIGTERM SIGINT |
|
|
|
|
|
echo "Starting Ollama server..." |
|
ollama serve & |
|
OLLAMA_PID=$! |
|
|
|
|
|
echo "Waiting for Ollama server to start..." |
|
TIMEOUT=60 |
|
COUNTER=0 |
|
|
|
while ! nc -z localhost 7860; do |
|
if [ $COUNTER -ge $TIMEOUT ]; then |
|
echo "ERROR: Ollama server failed to start within $TIMEOUT seconds" |
|
exit 1 |
|
fi |
|
echo "Waiting for Ollama server to start... ($COUNTER/$TIMEOUT)" |
|
sleep 1 |
|
((COUNTER++)) |
|
done |
|
|
|
echo "Ollama server is ready!" |
|
|
|
|
|
echo "Pulling the model..." |
|
if ! ollama pull gemma3:270m; then |
|
echo "ERROR: Failed to pull model smollm2:135m" |
|
exit 1 |
|
fi |
|
|
|
if ! ollama pull nomic-embed-text; then |
|
echo "ERROR: Failed to pull model gemma3:1b" |
|
exit 1 |
|
fi |
|
|
|
echo "Model pulled successfully!" |
|
|
|
|
|
echo "Container is ready. Ollama server is running on port 7860." |
|
wait $OLLAMA_PID |