마루옵스서버 · 네트워크 · AI 기술 노트

소개문의

[Local LLM 구축하기 12] Open WebUI와 Ollama로 웹 채팅 구성

노트북과 필기도구가 있는 작업 공간

참고 사진 · 노트북과 필기도구가 있는 작업 공간 · 사진: AnonymousUnknown author / 원본 / CC0 · 목록용 크기 조정

Local LLM 구축하기 · 12/30 · 실습

전체 연재와 학습 순서 · 실습 코드 ZIP

대화 기록을 보관하고 브라우저에서 모델을 고르고 싶다면 Open WebUI를 붙여 볼 수 있어요. 여기서는 WebUI와 Ollama를 같은 Docker 네트워크에 둡니다. Windows에 먼저 설치한 Ollama와는 별도로 동작하는 실습입니다.

Docker Desktop이 실행 중인지 확인하고 모델을 추가로 저장할 디스크 공간을 준비합니다. 브라우저에서 컨테이너의 모델에 질문을 보내는 구성을 만듭니다.

브라우저에서 모델까지의 경로

브라우저는 Windows의 127.0.0.1:3000에 접속하고, WebUI는 Docker 내부 주소인 ollama:11434로 요청을 보냅니다. Ollama API 포트는 호스트에 직접 공개하지 않습니다. 기본값은 CPU 추론이며, 모델을 Docker 볼륨에 다시 받기 때문에 저장 공간이 추가로 필요합니다.

13편부터의 Python 코드는 2편에서 준비한 Windows Ollama의 11434 포트를 사용합니다. 여기의 Docker 구성은 웹 화면을 익히기 위한 별도 환경이에요. 모델 이름이 같더라도 저장소나 적재된 메모리가 공유되지는 않습니다.

Compose 파일과 첫 실행

새 폴더에 아래 내용을 compose.yaml로 저장합니다. 실습 ZIP의 같은 파일을 사용해도 됩니다. 초기 등록 화면에서 첫 관리자 계정을 만든 뒤, 관리자 설정에서 추가 회원가입을 제한합니다.

name: local-llm-web
services:
  ollama:
    image: ollama/ollama:latest
    volumes:
      - ollama_models:/root/.ollama
    environment:
      OLLAMA_NO_CLOUD: "1"
    restart: unless-stopped
  webui:
    image: ghcr.io/open-webui/open-webui:main
    ports:
      - "127.0.0.1:3000:8080"
    environment:
      OLLAMA_BASE_URL: http://ollama:11434
    volumes:
      - webui_data:/app/backend/data
    depends_on:
      - ollama
    restart: unless-stopped
volumes:
  ollama_models:
  webui_data:
docker compose up -d
docker compose exec ollama ollama pull qwen3:4b-instruct
docker compose ps

http://127.0.0.1:3000을 열어 관리자 계정을 만듭니다. 방금 받은 모델을 선택하고 가상의 메모를 질문해 보세요. 새 사용자 등록을 비활성화한 뒤에는 설정이 적용됐는지도 확인합니다.

모델 목록·연결 주소 점검

docker compose exec ollama ollama list
docker compose logs --tail 80 ollama
docker compose logs --tail 80 webui

첫 명령의 목록에 모델이 없다면 어디로 다운로드했는지 확인합니다. Windows의 ollama list와 컨테이너의 목록은 별개예요. 모델이 준비돼 있다면 WebUI의 Ollama 주소가 http://ollama:11434인지 살펴봅니다. 이 주소에는 /v1을 붙이지 않습니다.

채팅 답변을 받아야 WebUI에서 Ollama까지 연결됐다고 확인할 수 있습니다. 화면만 열린 상태에서 점검을 끝내지 않습니다. 관리자 계정과 대화 볼륨도 보호할 데이터이므로 다른 서비스의 비밀번호를 그대로 재사용하지 않습니다.

GPU 추가와 데이터 보관

공식적으로 지원되는 NVIDIA Docker 환경에서는 ollama 서비스에 gpus: all을 추가한 뒤 재생성합니다. 이후 컨테이너의 ollama ps에서 GPU 사용을 확인합니다. AMD·Intel 장비에는 이 NVIDIA용 설정을 그대로 적용하지 않습니다.

docker compose stop
docker compose start
# 실행 중인 구성과 실제 이미지 ID 기록
docker compose images

대화와 계정은 webui_data, 모델은 ollama_models 볼륨에 남습니다. 백업할 때는 서비스를 멈춰 쓰기를 정리하고, 복원도 확인합니다. 계속 사용할 구성이라면 main·latest 대신 성공한 digest를 기록해 두세요. 업데이트할 때 비교할 기준이 됩니다.

참고 자료

문서·모델 태그 확인 기준: 2026년 10월 18일. 기본 실습 환경: Windows 11 x64.


댓글

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

닉네임·이메일·댓글 내용·IP 주소·브라우저 정보는 댓글 게시 및 관리에 사용됩니다. 이메일과 접속 정보는 공개 댓글에 표시하지 않습니다. 개인정보 요청은 운영자 이메일로 보내 주세요. 개인정보처리방침