Saltar al contenido principal

🔄 Actualizando Open WebUI

¿Por qué no se actualiza mi Open WebUI?​

Para actualizar tu instalación local de Docker de Open WebUI a la última versión disponible, puedes usar Watchtower o actualizar manualmente el contenedor. Sigue cualquiera de los pasos proporcionados a continuación para actualizar la imagen existente de Open WebUI.

Actualización Manual​

  1. Detén y elimina el contenedor actual:

    Esto detendrá el contenedor en ejecución y lo eliminará, pero no borrará los datos almacenados en el volumen de Docker. (Sustituye open-webui por el nombre de tu contenedor durante el proceso de actualización si es diferente para ti).

docker rm -f open-webui
  1. Descarga la última imagen de Docker:

    Esto actualizará la imagen de Docker, pero no actualizará el contenedor en ejecución ni sus datos.

docker pull ghcr.io/open-webui/open-webui:main
info

Elimina cualquier dato existente en el volumen de Docker (NO RECOMENDADO A MENOS QUE SEA ABSOLUTAMENTE NECESARIO). Omite este paso completamente si no es necesario y pasa al último paso:

Si deseas empezar desde cero, puedes eliminar los datos existentes en el volumen de Docker. Ten cuidado, ya que esto eliminará todos tus historiales de chat y otros datos.

Los datos se almacenan en un volumen de Docker llamado open-webui. Puedes eliminarlo con el siguiente comando:

docker volume rm open-webui
  1. Inicia nuevamente el contenedor con la imagen actualizada y el volumen existente adjunto:

    Si no eliminaste los datos existentes, esto iniciará el contenedor con la imagen actualizada y los datos existentes. Si eliminaste los datos existentes, esto iniciará el contenedor con la imagen actualizada y un volumen nuevo y vacío. Para soporte de GPU Nvidia, agrega --gpus all al comando docker run

docker run -d -p 3000:8080 -v open-webui:/app/backend/data --name open-webui ghcr.io/open-webui/open-webui:main

¿Sigues siendo desconectado después de cada actualización?​

Si te encuentras desconectado después de cada actualización, asegúrate de que WEBUI_SECRET_KEY esté configurado en tus variables de entorno. Sin esta clave definida de manera consistente, tus sesiones de autenticación pueden invalidarse después de las actualizaciones.

Para establecer WEBUI_SECRET_KEY de manera persistente, inclúyelo al ejecutar tu contenedor de Docker:

docker run -d -p 3000:8080 -v open-webui:/app/backend/data --name open-webui -e WEBUI_SECRET_KEY=your_secret_key ghcr.io/open-webui/open-webui:main

O, si utilizas docker-compose, agrégalo bajo la sección environment:

version: '3'
services:
open-webui:
image: ghcr.io/open-webui/open-webui:main
ports:
- "3000:8080"
volumes:
- open-webui:/app/backend/data
environment:
- WEBUI_SECRET_KEY=your_secret_key

Para más detalles sobre la configuración de variables de entorno, consulta la documentación de Open WebUI sobre variables de seguridad.

Actualización Automática de Open WebUI con Watchtower​

Puedes usar Watchtower para automatizar el proceso de actualización de Open WebUI. Aquí hay tres opciones:

Opción 1: Actualización única​

Puedes ejecutar Watchtower como una actualización única para detener el contenedor actual, descargar la última imagen e iniciar un nuevo contenedor con la imagen actualizada y el volumen existente adjunto (Para soporte de GPU Nvidia, agrega --gpus all al comando docker run):

docker run --rm --volume /var/run/docker.sock:/var/run/docker.sock containrrr/watchtower --run-once open-webui

Opción 2: Ejecutar Watchtower como un contenedor separado​

Puedes ejecutar Watchtower como un contenedor separado que observe y actualice tu contenedor de Open WebUI:

docker run -d --name watchtower \
--volume /var/run/docker.sock:/var/run/docker.sock \
containrrr/watchtower -i 300 open-webui

Esto iniciará Watchtower en modo separado, observando el contenedor de Open WebUI para actualizaciones cada 5 minutos.

Opción 3: Integrando Watchtower con un archivo docker-compose.yml​

También puedes integrar Watchtower con tu archivo docker-compose.yml para automatizar las actualizaciones de Open WebUI (Para soporte de GPU Nvidia, agrega --gpus all al comando docker run):

version: '3'
services:
open-webui:
image: ghcr.io/open-webui/open-webui:main
ports:
- "3000:8080"
volumes:
- open-webui:/app/backend/data

watchtower:
image: containrrr/watchtower
volumes:
- /var/run/docker.sock:/var/run/docker.sock
command: --interval 300 open-webui
depends_on:
- open-webui

volumes:
open-webui:

En este ejemplo, Watchtower está integrado con el archivo docker-compose.yml y observa el contenedor de Open WebUI para actualizaciones cada 5 minutos.

Datos Persistentes en Volúmenes de Docker​

Los datos se almacenan en un volumen de Docker llamado open-webui. La ruta al volumen no es directamente accesible, pero puedes inspeccionar el volumen con el siguiente comando:

docker volume inspect open-webui

Esto mostrará los detalles del volumen, incluido el punto de montaje, que generalmente se encuentra en /var/lib/docker/volumes/open-webui/_data.

En Windows 10 + WSL 2, los volúmenes de Docker se encuentran aquí (escribe en el explorador de archivos de Windows):

  • \\wsl$\docker-desktop\mnt\docker-desktop-disk\data\docker\volumes

Para versiones anteriores de Docker (antes de Docker v26.1.4):

  • \\wsl$\docker-desktop-data\data\docker\volumes
  • \\wsl$\docker-desktop-data\version-pack-data\community\docker\volumes

(La respuesta de Windows es crédito del usuario sarye-haddadi de StackOverflow; enlace al post original en SO)