⏱️ Inicio Rápido
- Creación de Administrador: La primera cuenta creada en Open WebUI obtiene privilegios de Administrador, controlando la gestión de usuarios y las configuraciones del sistema.
- Registros de Usuarios: Los registros posteriores comienzan con un estado Pendiente, requiriendo la aprobación del Administrador para el acceso.
- Privacidad y Seguridad de Datos: Todos tus datos, incluidos los detalles de inicio de sesión, se almacenan localmente en tu dispositivo. Open WebUI garantiza una estricta confidencialidad y sin solicitudes externas para mejorar la privacidad y seguridad.
- Todos los modelos son privados por defecto. Los modelos deben compartirse explícitamente a través de grupos o hacerse públicos. Si un modelo se asigna a un grupo, solo los miembros de ese grupo pueden verlo. Si un modelo se hace público, cualquiera en la instancia puede verlo.
Elige tu método de instalación preferido a continuación:
- Docker: Soportado oficialmente y recomendado para la mayoría de los usuarios
- Python: Adecuado para entornos con pocos recursos o aquellos que deseen una configuración manual
- Kubernetes: Ideal para implementaciones empresariales que requieren escalado y orquestación
- Docker
- Python
- Kubernetes
- Terceros
- Docker
- Docker Compose
- Podman
- Docker Swarm
Inicio Rápido con Docker 🐳
Sigue estos pasos para instalar Open WebUI con Docker.
Paso 1: Descargar la Imagen de Open WebUI
Comienza descargando la última imagen de Docker de Open WebUI desde el GitHub Container Registry.
docker pull ghcr.io/open-webui/open-webui:main
Paso 2: Ejecutar el Contenedor
Ejecuta el contenedor con la configuración predeterminada. Este comando incluye un mapeo de volumen para garantizar almacenamiento persistente de datos.
docker run -d -p 3000:8080 -v open-webui:/app/backend/data --name open-webui ghcr.io/open-webui/open-webui:main
Banderas Importantes
- Mapeo de Volumen (
-v open-webui:/app/backend/data
): Garantiza el almacenamiento persistente de tus datos. Esto evita la pérdida de datos entre reinicios del contenedor. - Mapeo de Puertos (
-p 3000:8080
): Expone el WebUI en el puerto 3000 de tu máquina local.
Uso con Soporte de GPU
Para soporte de GPU Nvidia, agrega --gpus all
al comando docker run
:
docker run -d -p 3000:8080 --gpus all -v open-webui:/app/backend/data --name open-webui ghcr.io/open-webui/open-webui:cuda
Modo de Usuario Único (Deshabilitar el Inicio de Sesión)
Para omitir la página de inicio de sesión en una configuración de usuario único, configura la variable de entorno WEBUI_AUTH
en False
:
docker run -d -p 3000:8080 -e WEBUI_AUTH=False -v open-webui:/app/backend/data --name open-webui ghcr.io/open-webui/open-webui:main
No puedes cambiar entre el modo de usuario único y el modo de varias cuentas después de este cambio.
Configuración Avanzada: Conectar a Ollama en Otro Servidor
Para conectar Open WebUI a un servidor Ollama ubicado en otro host, agrega la variable de entorno OLLAMA_BASE_URL
:
docker run -d -p 3000:8080 -e OLLAMA_BASE_URL=https://example.com -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main
Acceder al WebUI
Después de que el contenedor esté en ejecución, accede a Open WebUI en:
Para obtener ayuda detallada sobre cada bandera de Docker, consulta la documentación de Docker.
Actualización
Para actualizar tu instalación local de Docker a la versión más reciente, puedes usar Watchtower o actualizar el contenedor manualmente.
Opción 1: Usando Watchtower
Con Watchtower, puedes automatizar el proceso de actualización:
docker run --rm --volume /var/run/docker.sock:/var/run/docker.sock containrrr/watchtower --run-once open-webui
(Sustituye open-webui
por el nombre de tu contenedor si es diferente.)
Opción 2: Actualización manual
-
Detén y elimina el contenedor actual:
docker rm -f open-webui
-
Descarga la última versión:
docker pull ghcr.io/open-webui/open-webui:main
-
Vuelve a iniciar el contenedor:
docker run -d -p 3000:8080 -v open-webui:/app/backend/data --name open-webui ghcr.io/open-webui/open-webui:main
Ambos métodos actualizarán tu instancia de Docker y la harán funcionar con la última versión disponible.
Configuración de Docker Compose
Usar Docker Compose simplifica la gestión de aplicaciones Docker con múltiples contenedores.
Si no tienes Docker instalado, consulta nuestro tutorial de instalación de Docker.
Docker Compose requiere un paquete adicional, docker-compose-v2
.
Advertencia: Los tutoriales antiguos de Docker Compose pueden hacer referencia a la sintaxis de la versión 1, que utiliza comandos como docker-compose build
. Asegúrate de usar la sintaxis de la versión 2, que utiliza comandos como docker compose build
(nota el espacio en lugar de un guion).
Ejemplo de docker-compose.yml
Aquí tienes un archivo de configuración de ejemplo para configurar Open WebUI con Docker Compose:
version: 3
services:
openwebui:
image: ghcr.io/open-webui/open-webui:main
ports:
- "3000:8080"
volumes:
- open-webui:/app/backend/data
volumes:
open-webui:
Iniciando los servicios
Para iniciar tus servicios, ejecuta el siguiente comando:
docker compose up -d
Script de ayuda
Se incluye un script de ayuda útil llamado run-compose.sh
con el código base. Este script ayuda a elegir qué archivos de Docker Compose incluir en tu despliegue, simplificando el proceso de configuración.
Nota: Para soporte de GPU Nvidia, cambia la imagen de ghcr.io/open-webui/open-webui:main
a ghcr.io/open-webui/open-webui:cuda
y añade lo siguiente a la definición de tu servicio en el archivo docker-compose.yml
:
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: all
capabilities: [gpu]
Esta configuración asegura que tu aplicación pueda aprovechar los recursos de GPU cuando estén disponibles.
Usando Podman
Podman es un motor de contenedores sin demonio para desarrollar, gestionar y ejecutar contenedores OCI.
Comandos Básicos
-
Ejecutar un Contenedor:
podman run -d --name openwebui -p 3000:8080 -v open-webui:/app/backend/data ghcr.io/open-webui/open-webui:main
-
Listar Contenedores Ejecutándose:
podman ps
Redes con Podman
Si surgen problemas de red, utiliza slirp4netns para ajustar la configuración de la red del pod y permitir que el contenedor acceda a los puertos de tu computadora.
Asegúrate de tener slirp4netns instalado, elimina el contenedor anterior si existe utilizando podman rm
y empieza un nuevo contenedor con
podman run -d --network=slirp4netns:allow_host_loopback=true --name openwebui -p 3000:8080 -v open-webui:/app/backend/data ghcr.io/open-webui/open-webui:main
Si estás utilizando Ollama desde tu computadora (no ejecutándose dentro de un contenedor),
Una vez dentro de open-webui, navega a Configuración > Configuración de Administrador > Conexiones y crea una nueva conexión API de Ollama a http://10.0.2.2:[OLLAMA PORT]
. Por defecto, el puerto de Ollama es 11434.
Consulta la documentación de Podman para configuraciones avanzadas.
Docker Swarm
Este método de instalación requiere conocimientos sobre Docker Swarms, ya que utiliza un archivo de pila para implementar 3 contenedores separados como servicios en un Docker Swarm.
Incluye contenedores aislados de ChromaDB, Ollama y OpenWebUI. Además, hay Variables de Entorno preconfiguradas para ilustrar aún más la configuración.
Elija el comando apropiado según la configuración de su hardware:
-
Antes de comenzar:
Se deben crear directorios para sus volúmenes en el host, o puede especificar una ubicación o volumen personalizado.
El ejemplo actual utiliza un directorio aislado
data
, que está dentro del mismo directorio que eldocker-stack.yaml
.-
Por ejemplo:
mkdir -p data/open-webui data/chromadb data/ollama
-
-
Con soporte para GPU:
Docker-stack.yaml
version: 3.9
services:
openWebUI:
image: ghcr.io/open-webui/open-webui:main
depends_on:
- chromadb
- ollama
volumes:
- ./data/open-webui:/app/backend/data
environment:
DATA_DIR: /app/backend/data
OLLAMA_BASE_URLS: http://ollama:11434
CHROMA_HTTP_PORT: 8000
CHROMA_HTTP_HOST: chromadb
CHROMA_TENANT: default_tenant
VECTOR_DB: chroma
WEBUI_NAME: Awesome ChatBot
CORS_ALLOW_ORIGIN: "*" # Este es el valor predeterminado actual, será necesario cambiar antes de ponerlo en producción
RAG_EMBEDDING_ENGINE: ollama
RAG_EMBEDDING_MODEL: nomic-embed-text-v1.5
RAG_EMBEDDING_MODEL_TRUST_REMOTE_CODE: "True"
ports:
- target: 8080
published: 8080
mode: overlay
deploy:
replicas: 1
restart_policy:
condition: any
delay: 5s
max_attempts: 3
chromadb:
hostname: chromadb
image: chromadb/chroma:0.5.15
volumes:
- ./data/chromadb:/chroma/chroma
environment:
- IS_PERSISTENT=TRUE
- ALLOW_RESET=TRUE
- PERSIST_DIRECTORY=/chroma/chroma
ports:
- target: 8000
published: 8000
mode: overlay
deploy:
replicas: 1
restart_policy:
condition: any
delay: 5s
max_attempts: 3
healthcheck:
test: ["CMD-SHELL", "curl localhost:8000/api/v1/heartbeat || exit 1"]
interval: 10s
retries: 2
start_period: 5s
timeout: 10s
ollama:
image: ollama/ollama:latest
hostname: ollama
ports:
- target: 11434
published: 11434
mode: overlay
deploy:
resources:
reservations:
generic_resources:
- discrete_resource_spec:
kind: "NVIDIA-GPU"
value: 0
replicas: 1
restart_policy:
condition: any
delay: 5s
max_attempts: 3
volumes:
- ./data/ollama:/root/.ollama-
Requisitos adicionales:
- Asegúrese de que CUDA esté habilitado, siga las instrucciones de su sistema operativo y GPU para esto.
- Habilite el soporte de GPU para Docker, consulte Nvidia Container Toolkit
- Siga la Guía aquí para configurar Docker Swarm con su GPU
- Asegúrese de que el Recurso de GPU esté habilitado en
/etc/nvidia-container-runtime/config.toml
y habilite la publicidad de recursos GPU mediante la descomentarización deswarm-resource = "DOCKER_RESOURCE_GPU"
. El demonio de Docker debe reiniciarse después de actualizar estos archivos en cada nodo.
-
-
Con soporte para CPU:
Modifique el servicio Ollama dentro del
docker-stack.yaml
y elimine las líneas parageneric_resources:
ollama:
image: ollama/ollama:latest
hostname: ollama
ports:
- target: 11434
published: 11434
mode: overlay
deploy:
replicas: 1
restart_policy:
condition: any
delay: 5s
max_attempts: 3
volumes:
- ./data/ollama:/root/.ollama -
Desplegar la pila de Docker:
docker stack deploy -c docker-stack.yaml -d super-awesome-ai
- uv
- Conda
- Venv
- Desarrollo
Instalación con uv
El gestor de tiempo de ejecución uv
garantiza una gestión impecable del entorno de Python para aplicaciones como Open WebUI. Siga estos pasos para comenzar:
1. Instalar uv
Elija el comando de instalación adecuado para su sistema operativo:
-
macOS/Linux:
curl -LsSf https://astral.sh/uv/install.sh | sh
-
Windows:
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
2. Ejecutar Open WebUI
Una vez instalado uv
, ejecutar Open WebUI es muy sencillo. Utilice el siguiente comando, asegurándose de configurar la variable de entorno DATA_DIR
para evitar la pérdida de datos. Se proporcionan ejemplos de rutas para cada plataforma:
-
macOS/Linux:
DATA_DIR=~/.open-webui uvx --python 3.11 open-webui@latest serve
-
Windows (PowerShell):
$env:DATA_DIR="C:\open-webui\data"; uvx --python 3.11 open-webui@latest serve
Actualización con Python
Para actualizar tu paquete local Open-WebUI a la última versión utilizando pip
, sigue estos simples pasos:
pip install -U open-webui
El indicador -U
(o --upgrade
) asegura que pip
actualice el paquete a la última versión disponible.
¡Eso es todo! Tu paquete Open-WebUI ahora está actualizado y listo para usar.
Instalar con Conda
-
Crear un entorno Conda:
conda create -n open-webui python=3.11
-
Activar el entorno:
conda activate open-webui
-
Instalar Open WebUI:
pip install open-webui
-
Iniciar el servidor:
open-webui serve
Actualización con Python
Para actualizar tu paquete local Open-WebUI a la última versión utilizando pip
, sigue estos simples pasos:
pip install -U open-webui
El indicador -U
(o --upgrade
) asegura que pip
actualice el paquete a la última versión disponible.
¡Eso es todo! Tu paquete Open-WebUI ahora está actualizado y listo para usar.
Usando Entornos Virtuales
Crea entornos aislados de Python utilizando venv
.
Pasos
-
Crear un Entorno Virtual:
python3 -m venv venv
-
Activar el Entorno Virtual:
-
En Linux/macOS:
source venv/bin/activate
-
En Windows:
venv\Scripts\activate
-
-
Instalar Open WebUI:
pip install open-webui
-
Iniciar el Servidor:
open-webui serve
Actualización con Python
Para actualizar tu paquete local Open-WebUI a la última versión utilizando pip
, sigue estos simples pasos:
pip install -U open-webui
El indicador -U
(o --upgrade
) asegura que pip
actualice el paquete a la última versión disponible.
¡Eso es todo! Tu paquete Open-WebUI ahora está actualizado y listo para usar.
Configuración de Desarrollo
Para desarrolladores que quieran contribuir, consulta la Guía de Desarrollo en Temas Avanzados.
- Helm
- Kustomize
Configuración de Helm para Kubernetes
Helm te ayuda a gestionar aplicaciones de Kubernetes.
Requisitos previos
- El clúster de Kubernetes está configurado.
- Helm está instalado.
Pasos
-
Agregar el repositorio Helm de Open WebUI:
helm repo add open-webui https://open-webui.github.io/helm-charts
helm repo update -
Instalar el chart de Open WebUI:
helm install openwebui open-webui/open-webui
-
Verificar la instalación:
kubectl get pods
Si deseas escalar Open WebUI utilizando múltiples nodos/pods/trabajadores en un entorno en clúster, necesitas configurar una base de datos NoSQL de clave-valor. Hay algunas variables de entorno que deben configurarse con el mismo valor en todas las instancias del servicio; de lo contrario, pueden ocurrir problemas de consistencia, sesiones defectuosas y otros problemas.
Acceder a la WebUI
Configura el reenvío de puertos o el balanceo de carga para acceder a Open WebUI desde fuera del clúster.
Configuración de Kustomize para Kubernetes
Kustomize permite personalizar configuraciones YAML de Kubernetes.
Requisitos previos
- Se ha configurado un clúster de Kubernetes.
- Kustomize está instalado.
Pasos
-
Clonar los manifiestos de Open WebUI:
git clone https://github.com/open-webui/k8s-manifests.git
cd k8s-manifests -
Aplicar los manifiestos:
kubectl apply -k .
-
Verificar la instalación:
kubectl get pods
Si tienes la intención de escalar Open WebUI utilizando múltiples nodos/pods/workers en un entorno de clúster, necesitas configurar una base de datos NoSQL de clave-valor. Hay algunas variables de entorno que deben configurarse con el mismo valor para todas las instancias del servicio; de lo contrario, pueden ocurrir problemas de consistencia, sesiones defectuosas y otros problemas.
Acceder al WebUI
Configura el reenvío de puertos o el balanceo de carga para acceder a Open WebUI desde fuera del clúster.
- Pinokio.computer
Instalación de Pinokio.computer
Para la instalación a través de Pinokio.computer, visita su sitio web:
El soporte para este método de instalación se proporciona a través de su sitio web.
Integraciones de Terceros Adicionales
(Agrega información sobre integraciones de terceros a medida que estén disponibles.)
Próximos Pasos
Después de instalar, visita:
- http://localhost:3000 para acceder a Open WebUI.
- o http://localhost:8080/ al usar una implementación en Python.
¡Ahora estás listo para comenzar a usar Open WebUI!
Usar Open WebUI con Ollama
Si estás utilizando Open WebUI con Ollama, asegúrate de consultar nuestra Guía para Comenzar con Ollama para aprender a gestionar tus instancias de Ollama con Open WebUI.
Únete a la Comunidad
¿Necesitas ayuda? ¿Tienes preguntas? Únete a nuestra comunidad: