「ローカルでも ChatGPT みたいな画面で AI と話したい」——そんなときに使えるのが Open WebUI です。結論、Ubuntu 24.04 なら apt install docker.io で Docker を入れ、docker run 1コマンドで起動できます。
この記事では、実際に Ubuntu 24.04.4 LTS 上で Docker をインストールし、ghcr.io/open-webui/open-webui:main(バージョン 0.9.6)を起動して、ブラウザでアクセスするところまでを、実行したコマンドの出力と実画面のスクリーンショットをそのまま載せながら解説します。
この記事のポイント
- Open WebUI は ChatGPT ライクな UI を自前で動かせる OSS で、Ollama や OpenAI API と繋げて使える
- Ubuntu 24.04 の公式リポジトリには
docker.io 29.1.3-0ubuntu3~24.04.2が収録されておりapt install1コマンドで Docker が入る(2026-06-15 実測) docker run1コマンドで Open WebUI が起動し、docker psがUp (healthy)になればブラウザからhttp://localhost:3000でアクセスできる- Ollama の接続先はデフォルトで
http://host.docker.internal:11434が設定済み - 本記事は Ubuntu 24.04.4 LTS + Docker + Open WebUI 0.9.6 で実際にコマンドを動かし、画面を撮影して確認した内容です
Open WebUI(旧称 Ollama WebUI)は、ブラウザから LLM に話しかけられる Web インターフェースです。ChatGPT のような見た目で、Ollama が動かすローカル LLM や OpenAI API に接続できます。自分のサーバーや VPS に置けば、会話内容を外部サービスに渡さずに済むのが魅力です。
動作確認済み環境
| 項目 | バージョン・詳細 |
|---|---|
| OS | Ubuntu 24.04.4 LTS(Noble Numbat) |
| Docker(docker.io) | 29.1.3-0ubuntu3~24.04.2(Ubuntu 公式リポジトリ) |
| Open WebUI イメージ | ghcr.io/open-webui/open-webui:main(約 4.3GB / バージョン 0.9.6) |
| 確認日 | 2026-06-15 |
注意
本記事のコマンドは Ubuntu 24.04 LTS で検証しています。Ubuntu 22.04 や他のディストリビューションでは、パッケージ名やバージョンが異なる場合があります。
Open WebUI とは
Open WebUI は Python + SvelteKit で作られたオープンソースの AI チャット UI です。主な特徴は次のとおりです。
- Ollama(ローカル LLM)と OpenAI API の両方に対応
- マルチモーダル対応(画像入力・音声入力)
- RAG(Retrieval-Augmented Generation):PDF や Web ページを読み込んで質問できる
- マルチユーザー管理・管理者ダッシュボード
- Docker イメージで配布されており、インストールが簡単
正直、これだけの機能が無料・セルフホストで使えるのは驚きます。ChatGPT に月額を払っている方も、自前の LLM 環境として試す価値があります。全体の構成は次のようなイメージです。

ブラウザは Open WebUI コンテナ(ホストの 3000 番ポート)にアクセスし、Open WebUI はさらに host.docker.internal:11434 経由でホスト上の Ollama に問い合わせます。会話履歴や設定は Docker ボリュームに保存されます。
手順1:Docker をインストールする
Open WebUI は Docker コンテナで提供されているため、まず Docker を入れます。Ubuntu 24.04 の公式リポジトリには docker.io 29.1.3 が収録されているので、追加リポジトリの登録なしで apt から入ります。
本当にこのバージョンが入るのか、ubuntu:24.04 の Docker 公式イメージ内で実際にインストールして確認しました。
docker.io:
Installed: (none)
Candidate: 29.1.3-0ubuntu3~24.04.2
Version table:
29.1.3-0ubuntu3~24.04.2 500 (noble-updates/universe)
$ sudo apt-get update
Reading package lists… Done
$ sudo apt-get install -y docker.io
Unpacking docker.io (29.1.3-0ubuntu3~24.04.2) …
Setting up runc (1.3.4-0ubuntu1~24.04.1) …
Setting up containerd (2.2.1-0ubuntu1~24.04.2) …
Setting up iptables (1.8.10-3ubuntu2) …
Setting up docker.io (29.1.3-0ubuntu3~24.04.2) …
Processing triggers for libc-bin (2.39-0ubuntu8.7) …
$ docker –version
Docker version 29.1.3, build 29.1.3-0ubuntu3~24.04.2

apt install docker.io 1コマンドで、Docker 本体だけでなく runc・containerd・iptables といった依存パッケージまでまとめて入ります。次に、Docker サービスを有効化して自動起動するよう設定します。
Created symlink /etc/systemd/system/multi-user.target.wants/docker.service → /usr/lib/systemd/system/docker.service
$ sudo systemctl status docker
● docker.service – Docker Application Container Engine
Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled)
Active: active (running)
active (running) と表示されれば Docker が起動しています。
①sudo なしで docker コマンドを使えるようにする(任意)
毎回 sudo を付けるのが面倒な場合は、現在のユーザーを docker グループに追加します。
$ newgrp docker
注意
docker グループへの追加は再ログイン後に有効になります。newgrp docker は現在のシェルのみに即時反映できますが、新しいターミナルを開くか、一度ログアウト・再ログインすることで完全に反映されます。
手順2:Open WebUI を docker run で起動する
Open WebUI は docker run 1コマンドで起動できます。イメージのダウンロードと起動が同時に完了するのがコンテナの便利なところです。初回は約 4.3GB のイメージをダウンロードするため、回線にもよりますが数分かかります。
–name open-webui \
-p 3000:8080 \
-v open-webui:/app/backend/data \
–add-host=host.docker.internal:host-gateway \
–restart always \
ghcr.io/open-webui/open-webui:main
Unable to find image ‘ghcr.io/open-webui/open-webui:main’ locally
main: Pulling from open-webui/open-webui
Status: Downloaded newer image for ghcr.io/open-webui/open-webui:main
733e3f34f38c9a…(コンテナIDが表示される)
各オプションの意味を整理しておきます。
| オプション | 意味 |
|---|---|
-d |
バックグラウンドで起動(デタッチモード) |
--name open-webui |
コンテナ名を open-webui に設定 |
-p 3000:8080 |
ホストの 3000 番ポートをコンテナの 8080 番にマッピング |
-v open-webui:/app/backend/data |
会話履歴・設定を Docker ボリュームに永続化 |
--add-host=host.docker.internal:host-gateway |
コンテナ内からホスト(Ollama)に接続するための設定 |
--restart always |
サーバー再起動後も自動で Open WebUI を起動 |
②起動確認をする
コンテナが起動しているか確認します。docker ps の STATUS が Up (healthy) になっていれば成功です。実際に起動した Open WebUI コンテナで確認したところ、次のように返ってきました。
CONTAINER ID IMAGE STATUS PORTS
733e3f34f38c ghcr.io/open-webui/open-webui:main Up (healthy) 0.0.0.0:3000->8080/tcp
$ curl -s http://localhost:3000/health
{“status”:true}
$ curl -s http://localhost:3000/api/version
{“version”:”0.9.6″,”deployment_id”:””}

起動直後は STATUS が starting と表示されますが、30〜60秒ほど待つと healthy に変わります。/health が {"status":true}、/api/version が 0.9.6 を返せば、Web サーバーは正常に動いています。
手順3:ブラウザでアクセスする
ブラウザで http://localhost:3000(VPS の場合は http://サーバーのIPアドレス:3000)にアクセスします。次のようなチャット画面が表示されれば起動成功です。

手順4:メインチャット画面を確認する
ログイン(またはアカウント作成)が完了すると、メインのチャット画面が表示されます。上部のモデルセレクターで使う LLM を選び、中央の入力欄からメッセージを送るだけ。ChatGPT を触ったことがある人なら、説明書なしで使えるはずです。

左サイドバーには過去の会話やワークスペースのアイコンが並びます。上部のモデル名(スクリーンショットでは nomic-embed-text:latest)をクリックすると、Ollama から取得したモデル一覧が表示され、切り替えられます。
手順5:Ollama と接続する
Ollama がホストにインストール済みの場合、Open WebUI はデフォルトで http://host.docker.internal:11434 に接続しようとします。実際に管理画面の「Connections」を開くと、Ollama API の接続先がすでに設定されているのが確認できます。

このように、OpenAI API(https://api.openai.com/v1)と Ollama API(http://host.docker.internal:11434)の両方が最初から用意されています。Ollama 側でモデルを落としておけば、すぐにチャットで選べるようになります。
pulling manifest
pulling 966de95ca8a6… 100%
success
$ ollama list
NAME ID SIZE MODIFIED
llama3.2:latest a80c4f17acd5 2.0 GB 1 second ago
Ollama でモデルをダウンロードすると、Open WebUI のモデルセレクターに llama3.2:latest が並びます。接続先を変えたい場合は、右上のユーザーアイコン →「Admin Panel」→「Settings」→「Connections」から Ollama の URL を変更できます。
管理者設定(Admin Panel)を確認する
管理者アカウントでログインすると、右上のメニューから「Admin Panel」に入れます。Settings の「General」では、Open WebUI のバージョンやサインアップの可否、デフォルトのユーザー権限などを設定できます。

実際の画面では、バージョンが v0.9.6 (latest) と表示され、「Enable New Sign Ups(新規登録の許可)」や「Default User Role(新規ユーザーの初期権限)」などを切り替えられます。新規登録を許可すると誰でもアカウントを作れてしまうため、VPS で公開する場合はここをオフにしておくと安全です。
Docker Compose でインストールする方法
設定をファイルで管理したい場合は Docker Compose が便利です。以下の docker-compose.yml を作成します。この構成は docker compose config で構文チェック済み(エラーなし)です。
services:
open-webui:
image: ghcr.io/open-webui/open-webui:main
container_name: open-webui
ports:
– “3000:8080”
volumes:
– open-webui:/app/backend/data
extra_hosts:
– “host.docker.internal:host-gateway”
restart: always
volumes:
open-webui:
$ docker compose config –quiet
# 構文エラーなし(exitcode=0)
$ docker compose up -d
✔ Container open-webui Started
注意
新しい docker compose(スペース区切り・V2)を使うには Docker Compose Plugin が必要です。Ubuntu 24.04 なら sudo apt install docker-compose-v2 で入ります。旧来の docker-compose(ハイフン・V1)とはコマンドが異なる点に注意してください。
よくあるエラーと解決策
①「Cannot connect to the Docker daemon」エラー
Docker サービスが起動していない、またはユーザーが docker グループに入っていない場合に出ます。
$ sudo usermod -aG docker $USER && newgrp docker
②「port is already allocated」エラー
ポート 3000 が別のプロセスに使われている場合です。-p 3001:8080 のように別のポートに変更するか、競合しているサービスを停止します。
tcp LISTEN 0 128 0.0.0.0:3000 0.0.0.0:* users:((“docker-proxy”,pid=12345,fd=18))
③モデルセレクターに何も出ない(Ollama が検出されない)
Ollama がホストで起動しているか確認します。コンテナ内からホストの Ollama に届くよう、OLLAMA_HOST=0.0.0.0 の設定が必要になる場合もあります。
● ollama.service – Ollama Service
Active: active (running)
$ curl http://localhost:11434/api/tags
{“models”:[{“name”:”llama3.2:latest”,…}]}
④イメージのプルが途中で止まる
Open WebUI のイメージは約 4.3GB あります。回線が細い場合やタイムアウトが発生した場合は、再度 docker pull ghcr.io/open-webui/open-webui:main を実行すると、ダウンロード済みのレイヤーは再取得されず続きから進みます。
Open WebUI をアップデートする
新しいバージョンが出た場合は次のコマンドで更新できます。会話履歴は Docker ボリュームに保存されているため消えません。
$ docker stop open-webui && docker rm open-webui
$ docker run -d –name open-webui -p 3000:8080 \
-v open-webui:/app/backend/data \
–add-host=host.docker.internal:host-gateway \
–restart always \
ghcr.io/open-webui/open-webui:main
(新しいコンテナIDが表示される)
まとめ
この記事では Ubuntu 24.04 LTS に Open WebUI を Docker でインストールする手順を、実測しながら解説しました。
- Ubuntu 24.04 には docker.io 29.1.3 が公式リポジトリに収録されており、apt install で即インストールできる
- docker run 1コマンドで Open WebUI(0.9.6)が起動し、docker ps が Up (healthy) になればブラウザからアクセスできる
- /health は status true、/api/version は 0.9.6 を返し、Web サーバーの稼働を確認できた
- Ollama の接続先は host.docker.internal:11434 が最初から設定されている
- 会話履歴は Docker ボリュームに保存されるため、コンテナを作り直しても消えない
Open WebUI と組み合わせて使う Ollama のインストール方法は別記事で解説しています。ローカル LLM 環境を一から構築したい方はあわせてご覧ください。
本格的にサーバーを運用したい場合は、VPS での環境構築もおすすめです。Vultr の東京リージョンであれば月額 $5 から利用でき、このまま同じ手順で Open WebUI を動かせます。


コメント