メインコンテンツまでスキップ

管理者パスワードのリセット 🗝️

管理者パスワードを忘れても心配ありません!以下にDocker 🐳 配置やOpen WebUIのローカルインストールで管理者パスワードをリセットする手順を説明します。

Docker配置用 🐳

DockerでOpen WebUIを使用している場合の管理者パスワードのリセット手順を以下に示します。

ステップ1: 新しいパスワードハッシュを生成する 🔐

まず、新しいパスワードのbcryptハッシュを作成します。以下のコマンドをローカルマシンで実行し、your-new-passwordを新しいパスワードに置き換えてください:

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

注意: 出力には特別な文字を含むbcryptハッシュが含まれます。次のステップで正しく使用するには、ハッシュ内のすべての$文字をトリプルエスケープ(\\\に置換)する必要があります。

ステップ2: Dockerでパスワードを更新する 🔄

次に、Docker配置でパスワードを更新します。以下のコマンド内のHASHをステップ1で生成したbcryptハッシュに置き換え、$文字をトリプルエスケープしてください。また、[email protected]を管理者アカウントのメールアドレスに置き換えてください。

重要: 以下のコマンドはすべての環境で機能しない場合があります。その場合は、以下の代替コマンドを試してください。

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

ローカルインストール用 💻

Open WebUIをローカルにインストールしている場合、以下の手順で直接システム上で管理者パスワードをリセットできます。

ステップ1: 新しいパスワードハッシュを生成する 🔐

Dockerの方法と同様に、以下のコマンドで新しいパスワードのbcryptハッシュを生成します。your-new-passwordを新しいパスワードに置き換えてください:

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

ステップ2: ローカルでパスワードを更新する 🔄

次に、ローカルマシン上のopen-webuiディレクトリに移動します。ステップ1で生成したbcryptハッシュをHASHに、管理者アカウントのメールアドレスを[email protected]に置き換えて以下を実行します:

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

Dockerの代替方法

上記の手順で問題がある場合 alpine/socatbashコマンドのチェインに問題が発生しました(bashが存在しないため)。

  1. open-webuiボリュームに接続されたalpine Linuxを起動します。

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

    /path/to/dataは__自身の__ボリューム設定に依存します。

    1. apache2-utilssqliteをインストールします:

      apk add apache2-utils sqlite
    2. bcryptハッシュを生成します:

      htpasswd -bnBC 10 "" your-new-password | tr -d :
    3. パスワードを更新します:

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

データを完全に削除する

Open WebUIを完全にリセット(すべてのユーザーデータ、設定、パスワードを含む)したい場合は、webui.dbファイルを削除する以下の手順に従ってください。

ステップ1: Python環境でwebui.dbを見つける

(特に仮想環境を使用している場合)webui.dbの場所がわからない場合は、以下の手順を参考にしてください:

  1. 仮想環境を有効にします(該当する場合)。

  2. Pythonシェルを開きます: python

  3. Pythonシェル内で以下のコードを実行します:

   import os
import open_webui

# Open WebUIパッケージがインストールされている場所を表示
print("Open WebUI is installed at:", open_webui.__file__)

# webui.dbへの一般的なパスを構築(通常はdata/webui.dbに位置します)
db_path = os.path.join(os.path.dirname(open_webui.__file__), "data", "webui.db")
print("Potential path to webui.db:", db_path)

# 該当パスにwebui.dbが存在するか確認
if os.path.exists(db_path):
print("webui.db found at:", db_path)
else:
print("webui.db not found at:", db_path)
  1. 出力を確認します:
    • ファイルが見つかる場合は、その正確なパスが表示されます。
    • 見つからない場合は、(例えばLinuxのfindコマンドやWindows/Macのグローバルファイル検索を使用して)広範なファイルシステム検索が必要になる場合があります。

ステップ2: webui.dbを削除する

ファイルの場所を特定したら、次のようなコマンドを使用して削除してください:

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

警告: webui.dbを削除すると、ユーザーアカウント、設定、パスワードを含むすべての保存データが削除されます。純粋に新しいスタートをしたい場合にのみ実行してください!