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
|