Open WebUIで5分で構築!ローカルChatGPT環境【Docker対応】
自社の機密情報をChatGPTに投げるのは怖い、API料金が気になる、そんな悩みを解決するローカルAI環境を5分で構築する方法を紹介します。
Open WebUIとは
Open WebUIは、様々なLLMと対話できるオープンソースのWebインターフェースです。ChatGPTライクなUIで、OpenAI APIはもちろん、ローカルLLMも動かせます。
主な特徴:
- ChatGPTそっくりの使いやすいUI
- Docker一発で起動
- RAG機能(PDF読み込み対応)
- 完全ローカルで動作可能
必要な環境
- Docker & Docker Compose
- OpenAI APIキー(OpenAI APIを使う場合)
- 8GB以上のRAM推奨
- GPU(オプション:ローカルLLM高速化用)
構築手順
1. docker-compose.yml作成
version: '3.8'
services:
open-webui:
image: ghcr.io/open-webui/open-webui:main
container_name: open-webui
ports:
- "3000:8080"
volumes:
- ./open-webui:/app/backend/data
environment:
- "OLLAMA_BASE_URL=http://host.docker.internal:11434"
extra_hosts:
- "host.docker.internal:host-gateway"
restart: unless-stopped
2. コンテナ起動
docker-compose up -d
3. ブラウザでアクセス
http://localhost:3000
初回アクセス時にアカウント作成画面が表示されます。
OpenAI API連携
- Settings → Connections へ移動
- OpenAI API セクションでAPIキーを入力
- モデル選択で
gpt-4.1gpt-5やが選択可能に
ローカルLLM(Ollama)連携
Ollamaを使えば完全オフラインでLLMを動かせます。
Ollamaインストール(別途)
# Mac/Linux
curl -fsSL https://ollama.com/install.sh | sh
# モデルダウンロード
ollama pull llama3.2
ollama pull codellama
docker-compose.yml(Ollama統合版)
version: '3.8'
services:
ollama:
image: ollama/ollama:latest
container_name: ollama
ports:
- "11434:11434"
volumes:
- ./ollama:/root/.ollama
restart: unless-stopped
open-webui:
image: ghcr.io/open-webui/open-webui:main
container_name: open-webui
ports:
- "3000:8080"
volumes:
- ./open-webui:/app/backend/data
environment:
- "OLLAMA_BASE_URL=http://ollama:11434"
depends_on:
- ollama
restart: unless-stopped
パフォーマンスチューニング
GPU利用(NVIDIA)
# docker-compose.ymlに追加
services:
ollama:
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: 1
capabilities: [gpu]
メモリ割り当て最適化
environment:
- "OLLAMA_NUM_PARALLEL=4"
- "OLLAMA_MAX_LOADED_MODELS=2"
- "OLLAMA_MEMORY_LIMIT=8GB"
トラブルシューティング
ポート競合エラー
# 使用中のポート確認
lsof -i :3000
# 別ポートに変更
ports:
- "3001:8080" # 3001に変更
Ollamaとの接続エラー
# Ollama状態確認
docker logs ollama
# ネットワーク確認
docker network ls
docker network inspect bridge
メモリ不足
Docker Desktopの設定でメモリ割り当てを増やす:
- Settings → Resources → Memory: 8GB以上推奨
セキュリティ考慮事項
本番環境で使用する場合:
# HTTPS対応(Nginx経由)
services:
nginx:
image: nginx:alpine
ports:
- "443:443"
volumes:
- ./nginx.conf:/etc/nginx/nginx.conf
- ./certs:/etc/nginx/certs
まとめ
Open WebUIを使えば、5分でChatGPTライクなローカルAI環境が構築できます。機密情報を扱う企業や、API料金を節約したい個人開発者に最適です。
より詳細な設定やハードウェア選定ガイドはこちら
自宅でChatGPTを動かそう!プライベートAI環境構築完全ガイド
ブログ記事では以下も解説しています:
- GPU選定ガイド(RTX 5060 vs 5070比較)
- 大規模モデル(70B)の動かし方
- マルチユーザー環境の構築
- 本番環境でのセキュリティ設定
参考リンク
投稿者: @junchi_kurin | ブログ: blog.junchi8.com