💡 Ollama + OpenWebUI 로 나만의 AI 챗봇 만들기

🧠 1. 개요
최근 ChatGPT나 Claude 같은 AI 서비스가 대중화되면서, “나만의 AI”를 로컬 환경에서 운영하고자 하는 개발자들이 많아졌습니다.
특히 Ollama와 OpenWebUI 조합은 폐쇄망이나 개인 PC 환경에서도 손쉽게 강력한 AI 모델을 활용할 수 있게 해줍니다.
이 글에서는 Ollama가 설치된 상태에서 OpenWebUI를 설치하고 연동하여,
브라우저에서 직접 AI 챗봇을 구동하는 방법을 단계별로 정리합니다.
⚙️ 2. 준비 사항
| 항목 | 설명 |
|---|---|
| ✅ OS | macOS / Windows / Linux 모두 지원 |
| ✅ Docker | OpenWebUI를 컨테이너로 실행하기 위해 필요 |
| ✅ Ollama | 이미 설치되어 있어야 함 |
| ✅ 모델 다운로드 | 예: qwen2.5, llama3, mistral 등 |
💬 Ollama 설치는 이미 되어있다는 전제로 진행합니다.
설치가 안 되어 있다면 https://ollama.ai/download 에서 OS에 맞게 설치하세요.
🧩 3. Ollama 실행 확인
먼저 터미널에서 Ollama 서버가 잘 작동 중인지 확인합니다.
ollama serve
또는 이미 백그라운드에서 실행 중이라면 상태를 확인합니다:
ps aux | grep ollama
정상적으로 실행 중이라면 브라우저에서 아래 주소로 접속 가능합니다:
http://localhost:11434
🪄 4. OpenWebUI 설치 방법
OpenWebUI는 Ollama와 연동되는 웹 기반 대화 인터페이스입니다.
Docker를 이용하면 아주 간단히 실행할 수 있습니다.
🐳 (1) Docker 설치 확인
Mac에서 Docker Desktop이 실행 중인지 확인하세요.
docker -v
🌐 (2) OpenWebUI 이미지 다운로드
docker pull ghcr.io/open-webui/open-webui:main
최신 버전으로 설치됩니다.
(원하는 버전을 명시하려면:v0.3.10같이 태그 지정 가능)
🚀 5. OpenWebUI 실행 (Ollama 연동)
이제 Ollama와 연동된 상태로 OpenWebUI를 실행해봅시다.
docker run -d \
--name openwebui \
-p 3000:8080 \
-v openwebui_data:/app/backend/data \
-e OLLAMA_API_BASE_URL=http://host.docker.internal:11434 \
ghcr.io/open-webui/open-webui:main
🔍 주요 옵션 설명
| 옵션 | 설명 |
|---|---|
-d |
백그라운드 실행 |
--name openwebui |
컨테이너 이름 지정 |
-p 3000:8080 |
로컬 3000번 포트로 접속 가능 |
-v openwebui_data:/app/backend/data |
데이터 영구 저장 |
-e OLLAMA_API_BASE_URL=... |
Ollama 서버 주소 설정 |
🧩 macOS와 Windows에서는
host.docker.internal을 사용하고,
Linux에서는http://localhost:11434를 사용하면 됩니다.
🌈 6. 브라우저 접속 및 초기 설정
Docker 실행 후, 브라우저에서 아래 주소로 접속합니다:
http://localhost:3000
✅ 처음 접속 시 “관리자 계정”을 생성해야 합니다.
이 계정으로 OpenWebUI 설정과 모델 관리가 가능합니다.
🤖 7. Ollama 모델 연결하기
- OpenWebUI 좌측 메뉴에서 Settings → Models 로 이동
- “Ollama Models” 항목을 확인
- 터미널에서 다운로드한 모델이 자동으로 표시됩니다.
예를 들어 아래 명령으로 설치된 모델은 자동 인식됩니다.
ollama pull qwen2.5
ollama pull llama3
OpenWebUI에서 해당 모델을 선택 후 대화를 시작하면 됩니다!
🧭 8. 시스템 자동 실행 (선택)
OpenWebUI를 매번 수동 실행하지 않으려면 Docker Compose로 설정해두면 편리합니다.
📄 docker-compose.yml
version: "3.8"
services:
openwebui:
image: ghcr.io/open-webui/open-webui:main
container_name: openwebui
restart: always
ports:
- "3000:8080"
environment:
- OLLAMA_API_BASE_URL=http://host.docker.internal:11434
volumes:
- openwebui_data:/app/backend/data
volumes:
openwebui_data:
실행:
docker compose up -d
🛠️ 9. 모델 교체 및 커스터마이징
OpenWebUI는 Ollama와 직접 연동되므로, Ollama에 모델만 추가하면 바로 반영됩니다.
ollama pull phi3
ollama pull mistral
OpenWebUI에서 새로고침하면 자동으로 리스트에 나타납니다.
또한 모델별 시스템 프롬프트, 메모리, 토큰 길이 등을 웹UI에서 직접 조정할 수 있습니다.
🔒 10. 보안 및 내부망 운영 팁
- 폐쇄망 환경에서도 완전 구동 가능
- 사내 AI 포털로 확장 시
NGINX + HTTPS구성 추천 - 사용자별 로그인/권한 설정 가능 (OpenWebUI 기본 기능 지원)
OLLAMA_MODELS_DIR를 공유 폴더로 지정하면 팀원과 모델 공유 가능
🧑💻 11. 자주 발생하는 오류 해결
| 증상 | 원인 / 해결 |
|---|---|
| “Ollama connection failed” | OLLAMA_API_BASE_URL 주소 확인 (Mac은 host.docker.internal, Linux는 localhost) |
| “Model not found” | Ollama에 모델이 설치되지 않음 (ollama pull qwen2.5) |
| “Port already in use” | 3000번 포트를 다른 앱이 사용 중일 수 있음 → -p 4000:8080 등으로 변경 |
🎯 12. 마무리
이제 당신의 로컬 PC에서 완전한 AI 챗봇 환경이 구축되었습니다.
인터넷 연결이 필요 없으며, 데이터가 외부로 나가지 않아 보안과 성능 모두 확보할 수 있습니다.
📝 요약 정리
| 단계 | 작업 내용 |
|---|---|
| 1️⃣ | Ollama 설치 및 모델 다운로드 |
| 2️⃣ | Docker 설치 |
| 3️⃣ | OpenWebUI 실행 (docker run ...) |
| 4️⃣ | 브라우저에서 접속 (http://localhost:3000) |
| 5️⃣ | 모델 선택 후 대화 시작 |
📚 참고 자료
- Ollama 공식 사이트: https://ollama.ai
- OpenWebUI 공식 GitHub: https://github.com/open-webui/open-webui
OpenWebUI는 단순히 Ollama의 UI 역할을 넘어,
프롬프트 관리・LLM 워크플로우・사용자별 세션 기록까지 지원하는 강력한 로컬 AI 플랫폼입니다.
이후에는 “RAG(Search + Memory)”를 붙여 사내 문서 기반 AI로 확장할 수도 있습니다.
댓글