Aller au contenu principal

Réinitialisation de votre mot de passe administrateur 🗝️

Si vous avez oublié votre mot de passe administrateur, ne vous inquiétez pas ! Vous trouverez ci-dessous des guides étape par étape pour réinitialiser votre mot de passe administrateur pour les déploiements Docker 🐳 et les installations locales d'Open WebUI.

Pour les déploiements Docker 🐳

Suivez ces étapes pour réinitialiser le mot de passe administrateur d'Open WebUI lorsque celui-ci est déployé à l'aide de Docker.

Étape 1 : Générer un nouveau hachage de mot de passe 🔐

Tout d'abord, vous devez créer un hachage bcrypt de votre nouveau mot de passe. Exécutez la commande suivante sur votre machine locale en remplaçant your-new-password par le mot de passe que vous souhaitez utiliser :

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

Remarque : La sortie inclura un hachage bcrypt avec des caractères spéciaux qui doivent être manipulés avec précaution. Tous les caractères $ dans le hachage devront être triple échappés (remplacés par \\\) pour être correctement utilisés dans l'étape suivante.

Étape 2 : Mettre à jour le mot de passe dans Docker 🔄

Ensuite, vous mettrez à jour le mot de passe dans votre déploiement Docker. Remplacez HASH dans la commande ci-dessous par le hachage bcrypt généré à l'étape 1, en vous assurant de triple échapper tous les caractères $. Remplacez également [email protected] par l'adresse email liée à votre compte administrateur.

Important : La commande suivante peut ne pas fonctionner dans tous les cas. Si cela ne fonctionne pas pour vous, essayez la commande alternative ci-dessous.

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

Pour les installations locales 💻

Si vous avez une installation locale d'Open WebUI, voici comment vous pouvez réinitialiser votre mot de passe administrateur directement sur votre système.

Étape 1 : Générer un nouveau hachage de mot de passe 🔐

Comme avec la méthode Docker, commencez par générer un hachage bcrypt de votre nouveau mot de passe en utilisant la commande suivante. N'oubliez pas de remplacer your-new-password par votre nouveau mot de passe :

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

Étape 2 : Mettre à jour localement le mot de passe 🔄

Maintenant, accédez au répertoire open-webui sur votre machine locale. Mettez à jour votre mot de passe en remplaçant HASH par le hachage bcrypt de l'étape 1 et [email protected] par l'email de votre compte administrateur, puis exécutez :

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

Méthode Docker alternative

Si vous rencontrez des problèmes avec ce qui précède. J'ai rencontré des problèmes en enchaînant les commandes bash dans alpine/socat, car bash n'existe pas.

  1. Exécutez une instance Linux alpine connectée au volume open-webui.

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

    /path/to/data dépend de vos paramètres de volume.

    1. Installez apache2-utils et sqlite :

      apk add apache2-utils sqlite
    2. Générez le hachage bcrypt :

      htpasswd -bnBC 10 "" your-new-password | tr -d :
    3. Mettez à jour le mot de passe :

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

Remise à zéro complète des données

Si vous souhaitez recommencer complètement Open WebUI—y compris toutes les données utilisateur, paramètres et mots de passe—suivez ces étapes pour supprimer le fichier webui.db.

Étape 1 : Localiser webui.db dans votre environnement Python

Si vous ne savez pas où se trouve webui.db (notamment si vous utilisez un environnement virtuel), vous pouvez le localiser en suivant ces étapes :

  1. Activez votre environnement virtuel (si applicable).

  2. Ouvrez un shell Python : python

  3. Exécutez le code suivant dans le shell Python :

   import os
import open_webui

# Montrez où le paquet Open WebUI est installé
print("Open WebUI est installé à :", open_webui.__file__)

# Construisez un chemin potentiel vers webui.db (généralement situé dans 'data/webui.db')
db_path = os.path.join(os.path.dirname(open_webui.__file__), "data", "webui.db")
print("Chemin potentiel vers webui.db :", db_path)

# Vérifiez si webui.db existe à ce chemin
if os.path.exists(db_path):
print("webui.db trouvé à :", db_path)
else:
print("webui.db introuvable à :", db_path)
  1. Examinez la sortie :
    • Si le fichier est trouvé, vous verrez son chemin exact.
    • Sinon, vous devrez peut-être effectuer une recherche plus large sur le système de fichiers (par exemple, en utilisant find sous Linux ou une recherche globale de fichiers sous Windows/Mac).

Étape 2 : Supprimer webui.db

Une fois le fichier localisé, supprimez-le en utilisant une commande similaire à :

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

Avertissement : Supprimer webui.db entraîne la suppression de toutes les données enregistrées, y compris les comptes utilisateur, paramètres et mots de passe. Ne faites cela que si vous voulez vraiment repartir de zéro !