猫のようなAIと暮らしたい(4)環境構築編
0. 使用するハードウェア
(1) Mac Studio:M4 Max / メモリ36GB

(2) メモリ36GBの利用内訳
Claude Fable 5 > 32GB(GeForce RTX 5090 等)での実測報告では、限界チューニングしてもLLM用は約25GBで、超えるとSSDスワップが発生し生成速度が劇的に落ちるとされています。Mac Studio の36GBはそれより余裕がありますが、「30Bクラスの4bit量子化」が実用上限という結論は同じです。
macOS+常駐アプリ:約6〜8GB
Docker Desktop+Open WebUI:約2〜3GB
LLMに使える実質枠:約25〜27GB
モデル本体(30Bクラス4bit量子化):約18〜20GB
KVキャッシュ(会話の作業領域):残り約5〜7GB
1. 環境構築(使用するソフトウェア)
(1) Ollama:ローカルLLMの実行基盤(T1の中核)

Phase 0〜1 は Ollama 続投を推奨します。理由:
Phase 1で頭脳を自作プログラムから呼び出す際、Ollamaは標準でAPIサーバー(localhost:11434)として動くため接続が素直です。
LM Studio の強み(MLX対応・GUI)は速度比較の選択肢として頭の隅に置き、遅いと感じたときに初めて比較すれば十分です。
OllamaはMac本体に直接インストール
Apple Silicon Mac なら Metal でGPU支援を使えるため、Open WebUI だけを Docker Desktop で動かすのが一番おすすめです。
Mac本体
├─ Ollama → http://localhost:11434
└─ Docker Desktop
└─ Open WebUI → http://localhost:3000
└─ Ollamaへは http://host.docker.internal:11434 で接続(2) Open WebUI:モデル比較用チャットUI
今回(Phase 0)の実験用として最適

(3) Docker Desktop:Open WebUIの土台
Dockerを使うとMac側であれこれPython環境をいじらずに済みます。
Open WebUI は Pythonアプリなので、直接インストールするとPythonのバージョン、依存ライブラリ、仮想環境などを気にする必要があります
DockerならOpen WebUIに必要な実行環境がコンテナイメージにまとまっています。(コンテナイメージとはコード、ランタイム、システムツール、ライブラリ、設定などを含む実行可能パッケージです)
(4) GitHub Desktop:リポジトリの管理
リポジトリを記録することで、プロジェクトの全履歴を保存し、安全な変更・復元とチームでの円滑な共同作業を実現します
2. Open WebUIのインストール
SuperGrok 4.3 > 以下に、あなたの環境で実際に動作した構成を基に、実用的な手順をまとめました。(Mac + Ollama公式アプリ + Docker Compose)
(1) プロジェクトディレクトリの作成
mkdir -p ~/docker/open-webui
cd ~/docker/open-webuiこのディレクトリをプロジェクトのホームとして管理します(推奨構成)
~ はユーザーのホームフォルダを表します
HD名/Users/あなたのユーザー名/docker/open-webui/docker-compose.yml
(2) docker-compose.yml の作成
以下の内容を docker-compose.yml として保存してください。
services:
open-webui:
image: ghcr.io/open-webui/open-webui:main
container_name: open-webui
restart: unless-stopped
ports:
- "3000:8080"
extra_hosts:
- "host.docker.internal:host-gateway"
volumes:
- open-webui:/app/backend/data
environment:
- OLLAMA_BASE_URL=http://host.docker.internal:11434
# 必要に応じて追加設定
# - WEBUI_AUTH=False # 認証を完全に無効化(非推奨)
# - DEFAULT_USER_ROLE=admin # 初回ユーザーを自動でadminにする
volumes:
open-webui:解説
restart: unless-stopped:手動停止時以外は自動再起動
extra_hosts:Macで host.docker.internal を確実に解決させる設定
open-webui ボリューム:会話履歴・設定・ファイルが永続化される
ポートは 3000:8080(ホスト側3000番)
(3) 初回起動
cd ~/docker/open-webui
docker compose up -dブラウザで右記にアクセス:http://localhost:3000
初回アクセス時に管理者アカウントの作成画面が表示されます。
メールアドレスとパスワードを入力して作成してください。
(4) 更新手順
cd ~/docker/open-webui
# 1. 最新イメージを取得
docker compose pull
# 2. コンテナを再作成(データは保持される)
docker compose up -d更新後はブラウザで 強制再読み込み(⌘ + Shift + R)してください。
(5) トラブルシューティング
Safariで500 Internal Server Errorが出る場合
プライベートブラウジング(⌘ + Shift + N)で試す
それでも出る場合は以下を実行:
Safari → 設定 → プライバシー → 「Webサイトデータを管理」
localhost で検索 → 該当データをすべて削除
ログでエラーを確認したいとき
docker compose logs --tail=100 open-webuiよくあるエラーと原因
500 Internal Server Error
Cookie/キャッシュの破損 → Webサイトデータクリア
Model listが読み込めない
Ollama接続失敗 → host.docker.internal の設定確認
ログインできない
認証情報の不整合 → プライベートモード or データクリア
3. リポジトリの整備
SuperGrok 4.3 > リポジトリ管理とは、「ファイルの変更履歴をしっかり記録して、安全にプロジェクトを進める仕組み」のことです。特に個人で開発・創作を続けていく場合に、非常に大きなメリットがあります。
リポジトリ管理のメリット
「失敗を恐れずに挑戦できる」
試行錯誤が多いプロジェクト(AI、ロボット、画像処理など)では、「壊しても戻せる」 という安心感が非常に大きいです。長期的にプロジェクトを続けやすい
数ヶ月〜数年単位で続ける場合、過去の変更履歴が残っていると「前にどうやっていたっけ?」をすぐに思い出せます。PCの買い替え・故障に強い
ローカルだけにファイルがあると、Macが壊れた瞬間にすべて失うリスクがありますが、GitHubに置いておけば安心です。「何をやったか」を後から振り返れる
コミットメッセージをしっかり書いておくと、数ヶ月後に「この機能はいつ作ったんだっけ?」がすぐわかります。
リポジトリ整備の手順
前提:GitHubにアカウントを作っておいて下さい
(1) GitHub Desktop と GitHubアカウントを連携する
GitHub Desktopを起動
メニューバー → GitHub Desktop → Settings...
Accounts タブ → Sign Into GitHub.com をクリック
ブラウザでGitHubのあなたのアカウントにログイン・認証
(2) ローカルフォルダをGitリポジトリとして追加する
GitHub Desktopのメニューバー → File → Add Local Repository...
Choose... で使用するフォルダを選択(例:~/Documents/stackchan)
Add Repository をクリック
フォルダが空の場合、Gitの初期化を促されるので実行
(3) 初めてのファイルを追加してGitHubに反映してみる
~/Documents/stackchan フォルダにファイルを入れる
GitHub Desktopで Changes タブを確認(ファイルが表示されている)
Summary にコミットメッセージを書く(例:ファイル追加のテスト)

4. 画面左下の Commit to main をクリック

5. 画面上部の Push origin をクリック → 初回のみ以下の画面が出る:
リポジトリ名
説明(任意)
Keep this code private チェックボックス ← 外さなければ非公開
6. Push されたかは以下で確認
https://github.com/あなたのアカウント名/stackchan

(4) おすすめの初期設定(やっておくと快適)
Changes に .DS_Store を出さないようにする設定
GitHub Desktopの Changes タブで .DS_Store を右クリック
Ignore file を選択
.gitignore ファイルが作成される
Changes タブに新しく出てきた .gitignore をクリックして開く
中身を以下のように編集して保存する
# Macが自動生成するファイル
.DS_Store
**/.DS_Store6. この .gitignore ファイルもコミットしてPushする
リポジトリ管理(日常の運用)
stackchan フォルダにファイルを追加・編集する
GitHub DesktopでChangesを確認(変更が自動で検知される)
Summary に「何をしたか」を書く(詳しい説明は Description に書く)
Commit to main(自分のPCに履歴を記録)
Push origin(履歴ごとGitHubにバックアップ)
<目次>猫のようなAIと暮らしたい
(1)コンセプト編
(2)開発ロードマップ編
(3)要件定義編
(4)環境構築編←いまここ🐱
(5)Phase0-1:LLMモデルとクラウドAPIの選定
(6)Phase0-2:LLMモデルの比較(実測結果)
(7)Phase0-3:クラウドAPIの疎通テスト
