Open-WebUI + Ollama 가이드: Docker를 사용해 로컬에서 LLM 실행
I’m happy to translate the article for you, but I’ll need the full text you’d like translated. Could you please paste the content (excluding the source line you already provided) so I can convert it into Korean while preserving the original formatting and code blocks?
Introduction
궁극적인 Open‑WebUI 가이드에 오신 것을 환영합니다. ChatGPT의 강력하고 세련된 인터페이스를 원하면서도 로컬 서버의 프라이버시를 유지하고 싶다면, 바로 이곳이 맞습니다.
Ollama는 대형 언어 모델(LLM)을 손쉽게 실행할 수 있게 해주는 가벼운 추론 엔진이며, Open‑WebUI(구 Ollama WebUI)는 아름답고 기능이 풍부하며 확장 가능한 프런트‑엔드를 제공합니다. 이 둘을 결합하면 나만의 개인 AI 어시스턴트를 구축할 수 있습니다.
사전 요구 사항
Ollama 로컬 LLM 스택을 실행하기 전에 Docker에 대한 기본 요구 사항을 충족하는지 확인하고, GPU 가속을 사용할 계획이라면 적절한 NVIDIA 드라이버와 컨테이너 툴킷이 설치되어 있는지 확인하십시오.
빠른 시작 설치
초보자들이 가장 많이 저지르는 실수는 Open‑WebUI와 Ollama를 별개의 Docker 명령으로 실행해 서로 연결되지 않게 하는 것이며, 이로 인해 localhost 연결 오류가 발생합니다. 이를 해결하기 위해 두 서비스를 하나의 docker‑compose.yml 파일에 함께 배포하겠습니다.
# 프로젝트 디렉터리 생성
mkdir open-webui-stack && cd open-webui-stack
다음 내용을 가진 docker-compose.yml 파일을 만듭니다:
version: '3.8'
services:
ollama:
image: ollama/ollama:latest
restart: unless-stopped
ports:
- "11434:11434"
volumes:
- ollama-data:/root/.ollama
open-webui:
image: ghcr.io/open-webui/open-webui:latest
restart: unless-stopped
ports:
- "8080:8080"
environment:
- OLLAMA_BASE_URL=http://ollama:11434
depends_on:
- ollama
volumes:
- open-webui-data:/app/backend/data
volumes:
ollama-data:
open-webui-data:
파일을 저장하고 스택을 시작합니다:
docker compose up -d
첫 실행 확인: 컨테이너가 초기화될 때까지 약 60초 정도 기다린 뒤, 브라우저를 열고 . 로 이동합니다. Open‑WebUI 로그인 화면이 표시되어야 합니다.
상세 구성
OLLAMA_BASE_URL=http://ollama:11434은 Open‑WebUI가 Docker 내부 DNS를 통해 Ollama 컨테이너와 직접 통신하도록 하며, localhost 또는127.0.0.1라우팅 충돌을 우회합니다.depends_on절은 Ollama가 Open‑WebUI보다 먼저 시작되도록 보장합니다.- 영구 볼륨(
ollama-data와open-webui-data)은 재시작 시에도 모델과 UI 데이터를 유지합니다.
Pro‑Tip: 홈 네트워크 외부에서 UI에 접근하려면 Open‑WebUI를 Nginx Proxy Manager 또는 Traefik 뒤에 두고 SSL 인증서를 적용하세요.
일반적인 사용 사례 및 미니 프로젝트
- 첫 모델 다운로드 – Open‑WebUI 인터페이스를 사용하여 모델을 가져옵니다 (예:
gemma:2b또는phi3). - 개발자를 위한 API 접근 – Ollama는 REST API를 제공합니다. 예시:
curl -X POST http://localhost:11434/api/generate -d '{
"model": "gemma:2b",
"prompt": "Explain quantum entanglement in simple terms."
}'
문제 해결 및 FAQ
Q: 내 GPU가 Ollama에서 감지되지 않아요. 토큰 생성이 매우 느립니다!
A: Linux에서 NVIDIA 그래픽 카드를 사용 중이라면 NVIDIA Container Toolkit(nvidia-docker2)을 설치하세요. 그런 다음 docker-compose.yml에서 GPU 관련 블록(예: runtime: nvidia)의 주석을 해제하고 스택을 재시작합니다:
docker compose up -d --force-recreate
Q: 8 GB RAM 머신에서 계속 “Out of Memory” 오류가 발생합니다.
A: 표준 7B‑ 또는 8B‑파라미터 모델은 너무 무거울 수 있습니다. gemma:2b 또는 Microsoft의 phi3와 같은 더 작고 효율적인 모델로 전환하세요.
Q: Open‑WebUI에서 “Ollama connection failed.” 라고 표시됩니다.
A: OLLAMA_BASE_URL이 http://ollama:11434(localhost 아님)로 설정되어 있는지, 그리고 Ollama 컨테이너가 재시작 루프 없이 실행 중인지 확인하세요:
docker ps
Security & Production Hardening
If you plan to expose this setup to the internet:
- Put Open‑WebUI behind a reverse proxy with TLS termination.
- Enable authentication (Open‑WebUI supports built‑in user management).
- Restrict the Ollama API to the internal Docker network or protect it with firewall rules.
스택 확장
프라이빗 AI 어시스턴트를 다른 FOSS 홈랩 도구와 통합할 수 있습니다:
- Home Assistant – Ollama API를 사용하여 스마트 홈에 대화 기능을 추가합니다.
- Grafana / Prometheus – Open‑WebUI에서 사용량 메트릭을 내보내어 모니터링합니다.
- Nextcloud – 생성된 콘텐츠를 개인 클라우드에 직접 저장합니다.
결론 및 다음 단계
이제 완전하게 작동하고, 안전하며, 지속적인 Ollama 로컬 LLM 서버를 멋진 사용자 인터페이스와 함께 갖추게 되었습니다. 제3자 프라이버시 위험을 제거하고 오픈‑웨이트 AI 모델의 세계를 열었습니다.
다음 단계는 다음과 같을 수 있습니다:
- 다양한 모델을 실험하기.
- CI 파이프라인을 통해 모델 업데이트 자동화하기.
- Open‑WebUI용 맞춤 플러그인을 구축하여 기능을 확장하기.