|
#!/bin/bash |
|
|
|
|
|
set -e |
|
|
|
echo "Starting Ollama and FastAPI application..." |
|
|
|
|
|
mkdir -p /tmp/ollama/models |
|
export OLLAMA_MODELS=/tmp/ollama/models |
|
export OLLAMA_HOME=/tmp/ollama |
|
|
|
|
|
echo "Starting Ollama server..." |
|
ollama serve & |
|
OLLAMA_PID=$! |
|
|
|
|
|
echo "Waiting for Ollama server to start..." |
|
for i in {1..30}; do |
|
if curl -s http://localhost:11434/api/tags > /dev/null 2>&1; then |
|
echo "Ollama server is ready!" |
|
break |
|
fi |
|
if [ $i -eq 30 ]; then |
|
echo "Timeout waiting for Ollama server to start" |
|
exit 1 |
|
fi |
|
sleep 2 |
|
done |
|
|
|
ollama list |
|
|
|
|
|
|
|
|
|
|
|
ollama pull dolphin-llama3:8b |
|
|
|
|
|
echo "Starting FastAPI application..." |
|
python app.py |
|
|
|
|
|
cleanup() { |
|
echo "Shutting down..." |
|
kill $OLLAMA_PID 2>/dev/null || true |
|
exit 0 |
|
} |
|
|
|
trap cleanup SIGTERM SIGINT |
|
|
|
|
|
wait |