Saltar al contenido principal

Restableciendo tu contraseña de administrador 🗝️

Si has olvidado tu contraseña de administrador, ¡no te preocupes! A continuación, encontrarás guías paso a paso para restablecer la contraseña de administrador para implementaciones en Docker 🐳 y para instalaciones locales de Open WebUI.

Para implementaciones en Docker 🐳

Sigue estos pasos para restablecer la contraseña de administrador en Open WebUI cuando se implementa utilizando Docker.

Paso 1: Generar un nuevo hash de contraseña 🔐

Primero, necesitas crear un hash bcrypt de tu nueva contraseña. Ejecuta el siguiente comando en tu máquina local, reemplazando your-new-password por la contraseña que deseas usar:

htpasswd -bnBC 10 "" your-new-password | tr -d :\n

Nota: La salida incluirá un hash bcrypt con caracteres especiales que deberán manejarse con cuidado. Cualquier carácter $ en el hash deberá ser triplemente escapado (reemplazado con \\\) para ser utilizado correctamente en el siguiente paso.

Paso 2: Actualizar la contraseña en Docker 🔄

A continuación, actualiza la contraseña en tu implementación de Docker. Reemplaza HASH en el comando siguiente con el hash bcrypt generado en el Paso 1, asegurándote de triplemente escapar cualquier carácter $. También, reemplaza [email protected] con la dirección de correo electrónico vinculada a tu cuenta de administrador.

Importante: El siguiente comando puede no funcionar en todos los casos. Si no funciona para ti, intenta el comando alternativo debajo de este.

docker run --rm -v open-webui:/data alpine/socat EXEC:"bash -c apk add sqlite && echo UPDATE auth SET password=\HASH\ WHERE email=\[email protected]\; | sqlite3 /data/webui.db", STDIO

Para instalaciones locales 💻

Si tienes una instalación local de Open WebUI, aquí tienes cómo puedes restablecer tu contraseña de administrador directamente en tu sistema.

Paso 1: Generar un nuevo hash de contraseña 🔐

Al igual que con el método Docker, comienza generando un hash bcrypt de tu nueva contraseña utilizando el siguiente comando. Recuerda reemplazar your-new-password con tu nueva contraseña:

htpasswd -bnBC 10 "" your-new-password | tr -d :\n

Paso 2: Actualizar la contraseña localmente 🔄

Ahora, navega al directorio open-webui en tu máquina local. Actualiza tu contraseña reemplazando HASH con el hash bcrypt del Paso 1 y [email protected] con el correo electrónico de tu cuenta de administrador, y ejecuta:

sqlite3 backend/data/webui.db "UPDATE auth SET password=HASH WHERE [email protected];"

Método alternativo para Docker

Si tienes problemas con lo anterior. Tuve problemas encadenando los comandos bash en alpine/socat, ya que bash no existe.

  1. Ejecuta alpine Linux conectado al volumen open-webui.

    docker run -it --rm -v open-webui:/path/to/data alpine

    /path/to/data depende de tu configuración de volumen.

    1. Instala apache2-utils y sqlite:

      apk add apache2-utils sqlite
    2. Genera el hash bcrypt:

      htpasswd -bnBC 10 "" your-new-password | tr -d :
    3. Actualiza la contraseña:

      sqlite3 /path/to/data/webui.db
      UPDATE auth SET password=HASH WHERE email=admin@example.com;
      -- salir de sqlite: [Ctrl + d]

Reiniciando todos los datos

Si deseas reiniciar completamente Open WebUI—incluyendo todos los datos de usuario, configuraciones y contraseñas—sigue estos pasos para eliminar el archivo webui.db.

Paso 1: Ubica webui.db en tu entorno de Python

Si no estás seguro de dónde se encuentra webui.db (especialmente si estás utilizando un entorno virtual), puedes averiguarlo siguiendo estos pasos:

  1. Activa tu entorno virtual (si corresponde).

  2. Abre una consola de Python: python

  3. Ejecuta el siguiente código dentro de la consola de Python:

   import os
import open_webui

# Muestra dónde está instalada la librería Open WebUI
print("Open WebUI está instalada en:", open_webui.__file__)

# Construye una ruta potencial hacia webui.db (comúnmente ubicada en data/webui.db)
db_path = os.path.join(os.path.dirname(open_webui.__file__), "data", "webui.db")
print("Ruta potencial a webui.db:", db_path)

# Comprueba si webui.db existe en esa ruta
if os.path.exists(db_path):
print("webui.db encontrado en:", db_path)
else:
print("webui.db no encontrado en:", db_path)
  1. Examina la salida:
    • Si se encuentra el archivo, verás su ruta exacta.
    • Si no, es posible que necesites realizar una búsqueda más amplia en el sistema de archivos (por ejemplo, utilizando find en Linux o una búsqueda global de archivos en Windows/Mac).

Paso 2: Elimina webui.db

Una vez que hayas localizado el archivo, elimínalo utilizando un comando similar a:

   rm -rf /path/to/your/python/environment/lib/pythonX.X/site-packages/open_webui/data/webui.db

Advertencia: Eliminar webui.db eliminará todos los datos almacenados, incluyendo cuentas de usuario, configuraciones y contraseñas. Haz esto solo si realmente quieres comenzar desde cero.