Add Ollama Docker entrypoint script for model management
Browse files- docker/ollama/entrypoint.sh +35 -0
docker/ollama/entrypoint.sh
ADDED
|
@@ -0,0 +1,35 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
#!/bin/bash
|
| 2 |
+
|
| 3 |
+
# Start Ollama in the background
|
| 4 |
+
/bin/ollama serve &
|
| 5 |
+
# Record Process ID
|
| 6 |
+
pid=$!
|
| 7 |
+
|
| 8 |
+
# Pause for Ollama to start
|
| 9 |
+
sleep 5
|
| 10 |
+
|
| 11 |
+
# Extract model name from MODEL variable (removing quotes if present)
|
| 12 |
+
MODEL_NAME=$(echo $MODEL | tr -d '"')
|
| 13 |
+
|
| 14 |
+
# Verificar que MODEL_NAME tenga un valor
|
| 15 |
+
if [ -z "$MODEL_NAME" ]; then
|
| 16 |
+
echo "❌ No model specified in MODEL environment variable"
|
| 17 |
+
else
|
| 18 |
+
# Check if model exists
|
| 19 |
+
if ollama list | grep -q "$MODEL_NAME"; then
|
| 20 |
+
echo "🟢 Model ($MODEL_NAME) already installed"
|
| 21 |
+
touch /tmp/ollama_ready
|
| 22 |
+
else
|
| 23 |
+
echo "🔴 Retrieving model ($MODEL_NAME)..."
|
| 24 |
+
# Intentar descargar el modelo sin crear el archivo hasta estar seguros
|
| 25 |
+
if ollama pull "$MODEL_NAME" 2>/dev/null && ollama list | grep -q "$MODEL_NAME"; then
|
| 26 |
+
echo "🟢 Model download complete!"
|
| 27 |
+
touch /tmp/ollama_ready
|
| 28 |
+
else
|
| 29 |
+
echo "❌ Error downloading model ($MODEL_NAME)"
|
| 30 |
+
fi
|
| 31 |
+
fi
|
| 32 |
+
fi
|
| 33 |
+
|
| 34 |
+
# Wait for Ollama process to finish
|
| 35 |
+
wait $pid
|