Markdown版
AI-translated from English; not yet reviewed by a fluent editor.
# 1台のMacでOllama、Open WebUI、Continueを設定する
> Ollamaにローカルモデルを1つダウンロードし、永続化したOpen WebUIのチャットとVS CodeのContinueを接続します。ブラウザーの応答を確認し、自分のファイルへの変更案を点検します。
By BIG CHANGE Editorial
Published: 2026-10-21T07:20:39.085Z
Updated: 2026-10-21T07:20:39.085Z
Canonical: https://bigchange.ai/blog/ollama-open-webui-continue-local-stack-guide

AI-generated conceptual illustration by BIG CHANGE.
このガイドは、アプリをインストールする権限があり、自分が所有する機密情報を含まないテスト用ファイルを使えるMac利用者向けです。Ollamaにモデルを1つダウンロードし、永続化したOpen WebUIのブラウザーチャットとVS CodeのContinue拡張機能を同じ実行サービスに接続します。その後、実際に提示された変更案を確認して、採用するか判断します。以下のコマンドと確認方法は開発元の現行ドキュメントに基づきます。BIG CHANGEはこの構成を実行しておらず、速度、費用、ネットワーク通信量も測定していません。
## 大きな変化
- **何が変わるのか:** ダウンロードしたOllamaモデルは、ローカルAPIを通じてブラウザーチャットとVS Codeの編集支援の両方を提供できます。各クライアントの接続確認は別々に必要です。
- **なぜ重要なのか:** 1回のモデル導入で、同じMac上の会話と確認付きのコード変更を支援でき、最終的な編集判断はファイルの所有者が行えます。
- **注意する点:** メニューに表示されたモデル名だけでは、どのサーバーが応答したかは分かりません。特に他の提供元やクラウド機能を設定している場合は、接続先と実際の応答を確認してください。
## 1. Macを確認してモデルを選ぶ
必要なのは、 [Ollama用のmacOS 14以降](https://docs.ollama.com/macos)、 [Mac版Docker Desktop](https://docs.docker.com/desktop/setup/install/mac-install/)、 [Continue拡張機能](https://docs.continue.dev/ide-extensions/install)を導入したVS Code、以下の簡単なJSONとファイルの確認に使うPython 3です。OllamaはApple MシリーズのCPUとGPUでの実行に対応し、Intel Macではドキュメント上CPUのみです。Mac用の配布ページからOllamaを入手し、アプリをApplicationsに移動して起動します。求められたらコマンドラインへのリンクを許可してください。Docker Desktopをインストールして起動し、VS CodeのExtensionsビューからContinueを導入します。Python 3は、 [Python.org](https://www.python.org/downloads/macos/) からインストールします( `python3` が使えない場合)。MacではVS Codeが `code` を自動でシェルの検索パスに追加するわけではありません。 [Macのセットアップ手順](https://code.visualstudio.com/docs/setup/mac)に従い、 **Cmd+Shift+P**でCommand Paletteを開いて、 **Shell Command: Install 'code' command in PATH**を実行し、Terminalを再起動します。使用するツールが利用可能か確認してください。
```bash
sw_vers -productVersion
ollama --version
docker version
code --version
python3 --version
```
インストールしたバージョンを記録します。いずれかのアプリが動いていない場合や、モデルとDockerデータを置く空き容量がない場合は中断してください。 [qwen2.5-coder:7bのモデルページ](https://ollama.com/library/qwen2.5-coder:7b) には現在、ダウンロード容量4.7 GB、ライセンスApache 2.0と記載されています。ダウンロード容量は実行に必要な全メモリー量ではありません。このモデルは本ガイドの具体例であり、すべてのMacに適するという推奨ではありません。必要ならドキュメントで確認できる小さなローカルモデルのタグを選び、以下のすべてのコマンド、ブラウザーの選択、YAMLの項目にある `qwen2.5-coder:7b` をその正確なタグに置き換えます。代替モデルのライセンスも確認してください。
モデルをダウンロードし、Ollamaの一覧に正確なタグがあるか確認します。
```bash
ollama pull qwen2.5-coder:7b
ollama list
curl --fail-with-body --silent --show-error http://127.0.0.1:11434/api/tags | python3 -c 'import json,sys; d=json.load(sys.stdin); print([m["name"] for m in d["models"]])'
```
一覧には `qwen2.5-coder:7b`が表示されるはずです。続いて、 [ローカルのチャットAPI](https://docs.ollama.com/api/chat) に短い応答を求めます。HTTPエラーではコマンドが失敗し、返されたモデルと空でないアシスタントの内容を確認します。回答の具体的な文言は問いません。 [Ollamaの実行オプション](https://github.com/ollama/ollama/blob/main/docs/openapi.yaml) `num_predict` によって、この確認で生成するトークン数を64に制限します。文が途中で切れていても内容が戻ったことは確認できます。応答が空なら確認失敗であり、調査が必要です。
```bash
set -o pipefail
curl --fail-with-body --silent --show-error http://127.0.0.1:11434/api/chat \
-H 'Content-Type: application/json' \
-d '{"model":"qwen2.5-coder:7b","messages":[{"role":"user","content":"Reply with one short sentence about checking a local connection."}],"stream":false,"options":{"num_predict":64}}' \
| python3 -c 'import json,sys; d=json.load(sys.stdin); assert d.get("model")=="qwen2.5-coder:7b",d.get("model"); assert d.get("message",{}).get("content","").strip(); print("Model:",d["model"],"Reply:",d["message"]["content"])'
```
タグがなければダウンロードを完了して一覧を再確認します。APIに接続できない場合はOllamaを起動し、 [Macのサーバーログ](https://docs.ollama.com/macos) を `~/.ollama/logs/server.log`で確認してください。ダウンロード済みタグと正常なローカル応答で、3つの確認のうち最初が完了します。
## 2. データを永続化してOpen WebUIを起動する
この [Open WebUIクイックスタート](https://docs.openwebui.com/getting-started/quick-start/) は、アカウント、設定、チャットを `/app/backend/data` に保存し、固定の `WEBUI_SECRET_KEY`を使うよう説明しています。ここでは安定版の [v0.12.3リリース](https://github.com/open-webui/open-webui/releases/tag/v0.12.3) を使用し、随時更新される `main` タグは使いません。DockerはMacのアーキテクチャに合うイメージを選びます。取得後にイメージの識別情報を記録してください。
最初に、ここで使う名前を調べます。すでに存在する場合は、そのコンテナーやボリュームを調べ、以前の設定のものか判断してください。このコマンドを動かすためだけに既存コンテナーを置き換えたり、ボリュームを削除したりしないでください。
```bash
docker ps -a --filter name=^/bc-open-webui$
docker volume inspect bc-open-webui-data
```
初回の設定では、2番目のコマンドがボリュームは存在しないと表示しても正常です。以下では、生成したキーをMacアカウント内の非公開ファイルに保存します。コンテナーを再作成するときのため、安全に保管してください。内容をリポジトリにコミットしたり、貼り付けたり、共有したりしないでください。このインスタンス用のキーがある場合は引き続き同じものを使います。
```bash
mkdir -p "$HOME/.config/bc-open-webui"
chmod 700 "$HOME/.config/bc-open-webui"
umask 077
if [ ! -s "$HOME/.config/bc-open-webui/webui-secret" ]; then
openssl rand -hex 32 > "$HOME/.config/bc-open-webui/webui-secret"
fi
chmod 600 "$HOME/.config/bc-open-webui/webui-secret"
export WEBUI_SECRET_KEY="$(cat "$HOME/.config/bc-open-webui/webui-secret")"
docker pull ghcr.io/open-webui/open-webui:v0.12.3
docker image inspect ghcr.io/open-webui/open-webui:v0.12.3 --format '{{json .RepoDigests}}'
docker volume create bc-open-webui-data
docker run -d --name bc-open-webui --restart unless-stopped \
-p 127.0.0.1:3000:8080 \
--add-host=host.docker.internal:host-gateway \
-v bc-open-webui-data:/app/backend/data \
-e WEBUI_SECRET_KEY \
-e OLLAMA_BASE_URL=http://host.docker.internal:11434 \
ghcr.io/open-webui/open-webui:v0.12.3
unset WEBUI_SECRET_KEY
docker ps --filter name=^/bc-open-webui$ --format 'table {{.Names}}\t{{.Image}}\t{{.Ports}}'
```
ポートの出力には `127.0.0.1:3000->8080/tcp`と表示されるはずです。名前付きボリュームはコンテナー再作成後もチャットと設定を保持します。キーはセッションの継続性とアプリの暗号化された値を保護するため、非公開のコピーを保存します。Dockerにアクセスできる人はコンテナー設定から環境変数を見られる場合があります。これは1人用のローカル構成であり、共有ホスト向けの秘密情報保管庫ではありません。
ブラウザーで `http://127.0.0.1:3000` を開きます。初回は管理者アカウントを作成します。アバターメニューで **Settings → Admin → Connections**を開き、 **Manage Ollama API Connections** を確認し、 `http://host.docker.internal:11434`を指す接続を1つだけ有効にします。この確認で意図していない提供元の接続は削除するか無効にしてください。Open WebUIは [複数のOllama接続へリクエストを振り分けられる](https://docs.openwebui.com/getting-started/quick-start/connect-a-provider/starting-with-ollama/)ため、ドロップダウンの名前が一致するだけでは不十分です。新しいチャットで `qwen2.5-coder:7b` を選び、「ローカルモデルが回答したことを確認する方法を1つ教えてください」と尋ねます。空でない応答が出たことを確認し、保存したチャットを開き直します。選択したモデルと接続URLを記録します。これがブラウザーの確認であり、特定の答えを要求するものではありません。
ページが読み込めない場合は、 `docker logs bc-open-webui` とポートの割り当てを調べます。モデル一覧が空なら、Ollamaが引き続き `/api/tags`に応答するか、保存したOpen WebUIの接続、使用中のDocker DesktopがMacホストのサービスに到達できるかを確認します。 `host.docker.internal` は [Docker Desktopのホストアドレス](https://docs.docker.com/desktop/features/networking/)ですが、 `localhost` はコンテナー内ではそのコンテナー自体を指します。Ollamaは [標準で127.0.0.1にバインドする](https://docs.ollama.com/faq)ため、ホストとコンテナー間の転送は設定によって異なる場合があります。失敗した接続を成功扱いしたり、一般的な修正としてOllamaを `0.0.0.0` で公開したりしないでください。先へ進む前に、自分のセキュリティ方針に沿ってローカルのネットワーク経路を解決します。調査中もボリュームと既存チャットを保持してください。
## 3. Continueを同じOllamaタグへ接続する
ContinueはMacのVS Code内で動くため、Ollama APIのアドレスは `http://localhost:11434`です。Continueを開き、チャット入力欄の右上の設定ドロップダウンから **Local Config**の横の歯車をクリックします。これで `~/.continue/config.yaml`が開きます。 [Continueの現行リファレンス](https://docs.continue.dev/reference) はYAMLを使用します。既存設定をコピーして保存し、必要なモデルやルールを残してください。新規のローカル設定の最小限の全内容は次のとおりです。
```yaml
name: Local Ollama check
version: 1.0.0
schema: v1
models:
- name: Qwen2.5 Coder 7B local
provider: ollama
model: qwen2.5-coder:7b
apiBase: http://localhost:11434
roles:
- chat
- edit
```
既存ファイルの場合は、モデル項目をその `models:` 一覧へ追加し、現在の最上位設定を残します。保存して **Local Config** と名前を付けたローカルモデルを選び、Continue Chatで短い質問をします。内容が返ることを確認します。拡張機能の接続確認にはなりますが、チャット応答はファイル編集ではありません。 `chat` と `edit` の役割が、ここで使う2つの操作を有効にします。この手順はAgentや自動補完を約束しません。
自分が所有するテスト用ディレクトリと、独立して確認できる単純な動作を持つファイルを作ります。コマンドは既存のファイルや原本コピーを保持します。どちらかの名前が使用済みなら、確認するか新しいテスト用ディレクトリを選んでください。
```bash
mkdir -p "$HOME/continue-local-check"
if [ -e "$HOME/continue-local-check/greeting.py" ] || [ -e "$HOME/continue-local-check/greeting.original.py" ]; then
printf '%s\n' 'Scratch file already exists; inspect it or choose a new directory.'
else
cat > "$HOME/continue-local-check/greeting.py" <<'PY'
def greeting(name):
return "Hello, " + name
if __name__ == "__main__":
assert greeting("Ada") == "Hello, Ada"
print(greeting("Ada"))
PY
if python3 "$HOME/continue-local-check/greeting.py"; then
cp "$HOME/continue-local-check/greeting.py" "$HOME/continue-local-check/greeting.original.py"
else
printf '%s\n' 'Original check failed; inspect the file before requesting an edit.'
fi
fi
```
元の確認では、アサーションが通った後に `Hello, Ada` と出力されるはずです。 `greeting.py` をVS Codeで開き、関数だけを選択して **Cmd+I** を押し、 [Continue Edit](https://docs.continue.dev/ide-extensions/edit/quick-start)を使います。返す文字列を変えずに短いdocstringを追加するよう依頼します。順次表示されるインラインdiffを `greeting.original.py`と比較します。選択したコードへのEditでもファイル全体がコンテキストに入る場合があるため、自分の所有する機密情報のないファイルだけを使ってください。モデルは依頼した範囲を超えて変更する可能性があります。すべての変更行を調べ、適切な提案は **Cmd+Opt+Y**で採用し、拒否する場合は **Cmd+Opt+N**を使います。Continueにはすべて採用・すべて拒否の操作もありますが、小さなdiffの方が変更を1つずつ調べやすくなります。
採用後はファイルを保存し、次を実行します。
```bash
diff -u "$HOME/continue-local-check/greeting.original.py" "$HOME/continue-local-check/greeting.py" || true
python3 "$HOME/continue-local-check/greeting.py"
```
diffが意図した変更だけで、元のアサーションも通ることを確認します。提案を拒否した場合は原本と一致することを確認し、拒否を記録します。編集が完了したと報告してはいけません。ファイル、diff、独立したPythonの確認の方が、モデル自身による作業説明より確実です。
## 4. 境界を明確にする
Ollama、Open WebUI、Continueにはそれぞれ別の設定があります。Ollamaのクラウドだけを無効にするには、Ollamaサーバーを実行するアカウントの `~/.ollama/server.json`に以下のフィールドを追加し、既存のJSONフィールドを保持します。新規ファイルの全内容は次のとおりです。
```json
{
"disable_ollama_cloud": true
}
```
Ollamaアプリを再起動し、サーバーログを確認します。
```bash
grep 'Ollama cloud disabled: true' "$HOME/.ollama/logs/server.log"
```
この [Ollama FAQ](https://docs.ollama.com/faq) は、そのログ行を説明しています。見つからない場合は、どのMacアカウントがOllamaを実行しているか、JSON、再起動を再確認してから、クラウド機能が無効になったと判断してください。この設定はOpen WebUIの他の提供元や任意のオンライン機能、Continueの通信を調べません。Continueの [オフラインガイド](https://docs.continue.dev/guides/running-continue-without-internet) では、 **Allow Anonymous Telemetry**をオフにし、ローカルモデルを使ってVS Codeを再起動するよう説明されています。機密情報を使う前に各アプリの接続を確認してください。ループバックURLだけではネットワーク監査になりません。
実際の用途について [Docker Desktopのライセンス](https://docs.docker.com/subscription-billing/desktop-license/) を確認します。個人、教育、非営利のオープンソース利用に加え、次の条件を満たす小規模企業は無料です。 **従業員250人未満、かつ年間売上高1,000万ドル未満**。それより大きな組織での業務利用と政府機関での利用には有料サブスクリプションが必要です。モデルのApache 2.0ライセンスは別です。ディスク、メモリー、ダウンロード帯域、電力も必要であり、本ガイドでは費用や性能を測定していません。
Ollamaの端末とAPIだけを扱う狭い手順は、 [ローカルOllamaモデルを動かしてチャットAPIを確認する](https://bigchange.ai/blog/run-local-ollama-model-chat-api-guide)を参照してください。 [ローカルOllamaモデルでClaude Codeの変更を1件確認する](https://bigchange.ai/blog/claude-code-local-ollama-checked-change-guide) は別のコーディングクライアントを扱います。
## 出典と参考資料
- [OllamaのmacOS要件](https://docs.ollama.com/macos)、 [チャットAPI](https://docs.ollama.com/api/chat)、 [モデル一覧API](https://docs.ollama.com/api/tags) と [FAQ](https://docs.ollama.com/faq):インストールの制約、確認可能なAPIフィールド、標準の待受先、Ollama固有のクラウド設定。2026年10月21日確認。
- [Ollama API仕様](https://github.com/ollama/ollama/blob/main/docs/openapi.yaml):実行時の `options.num_predict` フィールドが短いローカルチャット確認を制限します。制限された応答は文の途中で終わる場合があります。2026年10月21日確認。
- [Qwen2.5-Coder 7Bモデルカード](https://ollama.com/library/qwen2.5-coder:7b):例のタグ、記載されたダウンロード容量、モデルのライセンス。取得前にタグの最新情報とMacの利用可能な資源を確認してください。2026年10月21日確認。
- [Open WebUIクイックスタート](https://docs.openwebui.com/getting-started/quick-start/)、 [Ollama接続ガイド](https://docs.openwebui.com/getting-started/quick-start/connect-a-provider/starting-with-ollama/) と [v0.12.3リリース](https://github.com/open-webui/open-webui/releases/tag/v0.12.3):コンテナーの保存領域とキー、提供元の設定、安定版の識別情報。設定手順を説明するもので、この特定のMacが正常接続した証拠ではありません。2026年10月21日確認。
- [Continueの設定](https://docs.continue.dev/customize/deep-dives/configuration)、 [YAMLリファレンス](https://docs.continue.dev/reference)、 [Editクイックスタート](https://docs.continue.dev/ide-extensions/edit/quick-start) と [オフラインガイド](https://docs.continue.dev/guides/running-continue-without-internet):現在のファイルパスとキー、編集操作、テレメトリー設定。2026年10月21日確認。
- [Docker Desktopのネットワーク](https://docs.docker.com/desktop/features/networking/)、 [Macへのインストール](https://docs.docker.com/desktop/setup/install/mac-install/) と [ライセンス](https://docs.docker.com/subscription-billing/desktop-license/):ホストアドレス、導入方法、業務利用の条件。組織に適用される現行規約を確認してください。2026年10月21日確認。
- [VS CodeのMac設定](https://code.visualstudio.com/docs/setup/mac) と [Python 3のダウンロード](https://www.python.org/downloads/macos/):任意のシェルコマンド導入と確認に使うインタープリター。2026年10月21日確認。
## Sources
- [Ollama macOS](https://docs.ollama.com/macos) — macOS 14以降、Apple MのCPU/GPUとIntelのCPUのみの違い、アプリ導入、CLIリンク、ローカルサーバーログのパスを説明しています。読者のMacのメモリーが足りることは示しません。
- [Ollama FAQ](https://docs.ollama.com/faq) — 標準の127.0.0.1:11434へのバインド、Ollamaだけのクラウド無効化設定、必要な再起動、無効化を示すログ確認を説明しています。他のアプリの監査は行いません。
- [OllamaチャットAPI](https://docs.ollama.com/api/chat) — POST /api/chat、リクエストのmodel/messages、返されたmodelとアシスタント内容のフィールドを説明しています。記事は読者の実際の応答確認を求めており、BIG CHANGEはリクエストを行っていません。
- [Ollamaモデル一覧API](https://docs.ollama.com/api/tags) — GET /api/tagsとmodels[].nameを説明しています。他のクライアントをつなぐ前に、取得した正確なタグをローカルで確認するために使います。
- [Qwen2.5-Coder 7Bモデル一覧](https://ollama.com/library/qwen2.5-coder:7b) — qwen2.5-coder:7b、4.7 GBのダウンロード、Apache 2.0ライセンスを掲載しています。ダウンロード容量は必要な全実行メモリーや性能結果ではありません。
- [Open WebUIクイックスタート](https://docs.openwebui.com/getting-started/quick-start/) — Docker runの手順、永続化する/app/backend/dataボリューム、固定WEBUI_SECRET_KEY、初回のブラウザーアカウントを説明します。記事はバージョンを固定し、実際のポート確認を求めます。
- [Open WebUIのOllama接続](https://docs.openwebui.com/getting-started/quick-start/connect-a-provider/starting-with-ollama/) — Settings > Admin > Connections、DockerホストのOllama URL、複数接続間の負荷分散の可能性を説明します。選択されたモデル名だけでは経路を証明できません。
- [Open WebUI v0.12.3リリース](https://github.com/open-webui/open-webui/releases/tag/v0.12.3) — 手順で使うバージョンタグの公式安定版ページです。Dockerがプラットフォーム用イメージを選び、読者が実際に導入したdigestを記録します。
- [Continue YAMLリファレンス](https://docs.continue.dev/reference) — 必須の最上位name/version/schemaとモデルのname/provider/model、任意のapiBase、chat/editの役割を定義します。手順では廃止されたJSONキーを使いません。
- [Continue Local Config](https://docs.continue.dev/customize/deep-dives/configuration) — Macの~/.continue/config.yamlパス、Local Configの歯車、保存後の自動更新を説明します。既存設定は保持してください。
- [Continue Editクイックスタート](https://docs.continue.dev/ide-extensions/edit/quick-start) — 選択コードへのCmd+I Edit、順次表示されるインラインdiff、Macの採用・拒否ショートカットを説明します。読者は提案全体を調べ、元の確認を再実行する必要があります。
- [Continueオフラインガイド](https://docs.continue.dev/guides/running-continue-without-internet) — Allow Anonymous Telemetryの操作、ローカルモデル選択、VS Code再起動を説明します。すべてのアプリ通信がローカルであるとは証明しません。
- [Docker Desktopのネットワーク](https://docs.docker.com/desktop/features/networking/) — host.docker.internalとDocker Desktopのホストループバックへのポート公開を説明します。このMacのループバックに限定したOllamaへ到達できるかは、ブラウザー応答で確認する必要があります。
- [Docker DesktopのMac導入](https://docs.docker.com/desktop/setup/install/mac-install/) — 対応MacへのDocker Desktop導入と基本資源を説明しますが、モデルとアプリを合わせた実行容量が十分とは示しません。
- [Docker Desktopのライセンス](https://docs.docker.com/subscription-billing/desktop-license/) — 個人、教育、非営利オープンソースの無料用途と、従業員250人未満かつ年間売上高1,000万ドル未満という小規模企業条件を説明します。大きな組織の業務利用と政府利用は有料です。
- [Python 3 macOSダウンロード](https://www.python.org/downloads/macos/) — 読者のJSONとテストファイルの確認に使うPython 3の公式インストーラー配布元です。BIG CHANGEはこの記事用にPythonを導入・実行していません。
- [Ollama API仕様](https://github.com/ollama/ollama/blob/main/docs/openapi.yaml) — options.num_predictを最大生成トークン数と定義します。1回のローカルチャット確認を64に制限するために使用し、空でない応答でも文が途中で終わる場合があります。
- [VS Code Mac設定](https://code.visualstudio.com/docs/setup/mac) — MacのCommand Paletteでcodeシェルコマンドを手動導入する方法と、code --versionの前に必要な端末再起動を説明します。
BIG CHANGEニュースレター
大局を、あなたのペースで。
AI とロボティクスの最新記事、注目すべき変化、活用できる実用的なアイデア。日刊ブリーフィング、週刊ダイジェスト、月刊展望から選べます。
次回の配信予定(UTC): . 確認後、次回の配信予定時刻に最初のニュースレターが届きます。