Saltar al contenido principal

Docker con un Ollama externo

Utiliza esta configuración cuando Ollama ya se ejecute en el host, en otro servidor o en un equipo de tu red Tailscale/LAN.

Disponibilidad de Work

Esta configuración de Compose cambia dónde se ejecuta Ollama; Work permanece activado mediante el socket Docker del host montado. El montaje concede a Libre WebUI un control del host Docker equivalente al del usuario raíz, así que úsalo únicamente cuando los administradores de Libre WebUI también sean administradores de confianza del host. En Linux, establece DOCKER_GID en .env al grupo propietario del socket. Elimina el montaje si no quieres Work. Consulta Work: espacios de trabajo aislados.

Requisitos previos

Confirma que Ollama sea accesible:

curl http://localhost:11434/api/version

Descarga un modelo si la instancia es nueva:

ollama pull gemma4:12b

Iniciar Libre WebUI

Desde la raíz del repositorio:

docker compose -f docker-compose.external-ollama.yml up -d

Abre http://localhost:8080.

El archivo de Compose apunta OLLAMA_BASE_URL a http://host.docker.internal:11434 de forma predeterminada.

URL personalizada de Ollama

Para utilizar otro host:

OLLAMA_BASE_URL=http://192.168.1.100:11434 docker compose -f docker-compose.external-ollama.yml up -d

En hosts Linux que no resuelvan host.docker.internal, añade lo siguiente al servicio:

extra_hosts:
- 'host.docker.internal:host-gateway'

Persistencia de los datos

El archivo de Compose almacena los datos de Libre WebUI en volúmenes Docker:

  • libre_webui_data
  • libre_webui_temp

Establece secretos estables para producción:

JWT_SECRET=replace-with-a-long-random-secret
ENCRYPTION_KEY=replace-with-64-hex-characters

Haz una copia de seguridad conjunta del volumen de datos y la clave de cifrado.

Acceso de red

El archivo de Compose del repositorio define CORS_ORIGIN directamente. Un valor de tu shell o archivo .env no sustituye ese literal. Modifica la entrada libre-webui.environment o añade una anulación explícita de Compose, por ejemplo compose.origin.yml:

services:
libre-webui:
environment:
CORS_ORIGIN: http://localhost:8080,http://192.168.1.50:8080
BASE_URL: http://192.168.1.50:8080

Aplica ambos archivos:

docker compose \
-f docker-compose.external-ollama.yml \
-f compose.origin.yml \
up -d

Para un dominio público, utiliza el origen HTTPS exacto en ambos valores y termina el tráfico con HTTPS.

Comandos útiles

docker compose -f docker-compose.external-ollama.yml ps
docker compose -f docker-compose.external-ollama.yml logs -f libre-webui
docker compose -f docker-compose.external-ollama.yml restart
docker compose -f docker-compose.external-ollama.yml pull
docker compose -f docker-compose.external-ollama.yml up -d

Solución de problemas

Libre WebUI no puede llegar a Ollama

docker compose -f docker-compose.external-ollama.yml exec libre-webui \
wget -O- http://host.docker.internal:11434/api/version

Si falla, utiliza una dirección IP explícita de la red LAN/Tailscale en OLLAMA_BASE_URL.

Los modelos no aparecen

Comprueba el host de Ollama:

ollama list

El gestor de modelos lee la instancia de Ollama configurada.

Errores de CORS

Asegúrate de que CORS_ORIGIN coincida exactamente con el origen del navegador, incluidos el esquema y el puerto.

Documentación relacionada