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.
-
Ejecuta
alpine
Linux conectado al volumenopen-webui
.docker run -it --rm -v open-webui:/path/to/data alpine
/path/to/data
depende de tu configuración de volumen.-
Instala
apache2-utils
ysqlite
:apk add apache2-utils sqlite
-
Genera el hash
bcrypt
:htpasswd -bnBC 10 "" your-new-password | tr -d :
-
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:
-
Activa tu entorno virtual (si corresponde).
-
Abre una consola de Python: python
-
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)
- 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.