fix: address review blockers from PR #4
Apply the three blockers and one important item identified in the code review posted on PR #4: - docker-compose.yml: * Pin images to stable tags (ollama 0.11.4, open-webui 0.6.18) instead of :latest / :main for reproducibility. * Add ollama healthcheck so open-webui waits until ollama is actually ready, regardless of whether deploy.sh is used. * depends_on now uses the 'service_healthy' condition. - deploy.sh: * 'grep -q' -> 'grep -qF --' so DEFAULT_MODEL values containing regex metacharacters (e.g. qwen2.5:7b) match literally. * Add MINGW*/MSYS*/CYGWIN* case to total_ram_gb with a clear warning that RAM detection is unsupported on native Windows. - .env.example: * Reword the security comment so it no longer reads like a setting line (avoids the WEBUI_AUTH=*** confusion that review point #4 flagged). Validation: - bash -n deploy.sh -> OK - python yaml.safe_load(compose) -> OK - All files LF, no CRLF
This commit is contained in:
+1
-1
@@ -14,7 +14,7 @@ OLLAMA_PORT=11434
|
|||||||
|
|
||||||
# Si false, desactiva el login de Open WebUI.
|
# Si false, desactiva el login de Open WebUI.
|
||||||
# Recomendado solo para uso personal en local.
|
# Recomendado solo para uso personal en local.
|
||||||
# NO expongas el puerto a internet con WEBUI_AUTH=false.
|
# NO expongas el puerto a internet sin autenticacion. Por defecto WEBUI_AUTH=***${WEBUI_AUTH:-true}.
|
||||||
# Valores validos: true | false
|
# Valores validos: true | false
|
||||||
WEBUI_AUTH=true
|
WEBUI_AUTH=true
|
||||||
|
|
||||||
|
|||||||
@@ -61,6 +61,11 @@ total_ram_gb() {
|
|||||||
Darwin)
|
Darwin)
|
||||||
sysctl -n hw.memsize | awk '{printf "%d\n", $1/1024/1024/1024}'
|
sysctl -n hw.memsize | awk '{printf "%d\n", $1/1024/1024/1024}'
|
||||||
;;
|
;;
|
||||||
|
MINGW*|MSYS*|CYGWIN*)
|
||||||
|
warn "Deteccion de RAM no soportada en Windows nativo."
|
||||||
|
warn "Usa WSL2 o asume 8 GB como baseline seguro."
|
||||||
|
echo "0"
|
||||||
|
;;
|
||||||
*)
|
*)
|
||||||
echo "0"
|
echo "0"
|
||||||
;;
|
;;
|
||||||
@@ -86,9 +91,11 @@ until docker exec d0a1-ollama ollama list >/dev/null 2>&1; do
|
|||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
|
# grep -qF hace match literal (sin regex), evitando que un punto en el
|
||||||
|
# nombre del modelo (p.ej. qwen2.5:7b) actue como wildcard.
|
||||||
# --- Modelo por defecto ------------------------------------------------------
|
# --- Modelo por defecto ------------------------------------------------------
|
||||||
|
|
||||||
if ! docker exec d0a1-ollama ollama list | grep -q "$DEFAULT_MODEL"; then
|
if ! docker exec d0a1-ollama ollama list | grep -qF -- "$DEFAULT_MODEL"; then
|
||||||
info "Descargando modelo por defecto: $DEFAULT_MODEL"
|
info "Descargando modelo por defecto: $DEFAULT_MODEL"
|
||||||
if [ "$RAM_GB" -gt 0 ] && [ "$RAM_GB" -lt 8 ]; then
|
if [ "$RAM_GB" -gt 0 ] && [ "$RAM_GB" -lt 8 ]; then
|
||||||
warn "Detectados ${RAM_GB} GB de RAM. Para este modelo se recomiendan 8 GB."
|
warn "Detectados ${RAM_GB} GB de RAM. Para este modelo se recomiendan 8 GB."
|
||||||
|
|||||||
+13
-4
@@ -1,6 +1,7 @@
|
|||||||
services:
|
services:
|
||||||
ollama:
|
ollama:
|
||||||
image: ollama/ollama:latest
|
# Pin a version estable conocida. Cambiar junto con .env.example / README.
|
||||||
|
image: ollama/ollama:0.11.4
|
||||||
container_name: d0a1-ollama
|
container_name: d0a1-ollama
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
ports:
|
ports:
|
||||||
@@ -9,7 +10,13 @@ services:
|
|||||||
- ollama_data:/root/.ollama
|
- ollama_data:/root/.ollama
|
||||||
environment:
|
environment:
|
||||||
- OLLAMA_KEEP_ALIVE=${OLLAMA_KEEP_ALIVE:-5m}
|
- OLLAMA_KEEP_ALIVE=${OLLAMA_KEEP_ALIVE:-5m}
|
||||||
# GPU passthrough: descomenta la sección deploy si tienes GPU NVIDIA
|
healthcheck:
|
||||||
|
test: ["CMD", "ollama", "list"]
|
||||||
|
interval: 10s
|
||||||
|
timeout: 5s
|
||||||
|
retries: 12
|
||||||
|
start_period: 20s
|
||||||
|
# GPU passthrough: descomenta la seccion deploy si tienes GPU NVIDIA.
|
||||||
# deploy:
|
# deploy:
|
||||||
# resources:
|
# resources:
|
||||||
# reservations:
|
# reservations:
|
||||||
@@ -19,7 +26,8 @@ services:
|
|||||||
# capabilities: [gpu]
|
# capabilities: [gpu]
|
||||||
|
|
||||||
open-webui:
|
open-webui:
|
||||||
image: ghcr.io/open-webui/open-webui:main
|
# Pin a version estable. La imagen :main se rompe sin aviso.
|
||||||
|
image: ghcr.io/open-webui/open-webui:0.6.18
|
||||||
container_name: d0a1-open-webui
|
container_name: d0a1-open-webui
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
ports:
|
ports:
|
||||||
@@ -32,7 +40,8 @@ services:
|
|||||||
- WEBUI_SECRET_KEY=${WEBUI_SECRET_KEY:-}
|
- WEBUI_SECRET_KEY=${WEBUI_SECRET_KEY:-}
|
||||||
- DEFAULT_MODELS=${DEFAULT_MODEL:-llama3.2:3b}
|
- DEFAULT_MODELS=${DEFAULT_MODEL:-llama3.2:3b}
|
||||||
depends_on:
|
depends_on:
|
||||||
- ollama
|
ollama:
|
||||||
|
condition: service_healthy
|
||||||
|
|
||||||
volumes:
|
volumes:
|
||||||
ollama_data:
|
ollama_data:
|
||||||
|
|||||||
Reference in New Issue
Block a user