🔄 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
-
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
-
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
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
-
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)