Ollama WebUI(Open WebUI) 설치 및 사용법: 챗GPT 화면 그대로 내 컴퓨터에서 로컬 AI 구동하기

터미널의 검은 화면에서 >>> 프롬프트를 보며 로컬 AI와 대화하는 것에 피로감을 느끼셨나요? 대화 기록 저장도 안 되고, 긴 코드를 읽기도 불편했다면 이제는 Open WebUI(구 Ollama WebUI)를 구축할 때입니다. Open WebUI를 연동하면 OpenAI의 챗GPT와 100% 흡사한 미려한 웹 인터페이스 환경에서 내가 다운로드한 로컬 AI 모델들을 마우스 클릭만으로 완벽히 통제할 수 있습니다. 가장 대중적이고 깔끔한 2가지 설치법(Docker / Python)부터 실전 활용 팁까지 한 번에 정리해 드립니다.

[핵심 요약 3줄 체크]
1. 정체성: Ollama가 모델을 가동하는 '엔진'이라면, Open WebUI는 눈에 보이는 화려한 '대화창 웹사이트' 역할을 합니다.
2. 설치 방식: 시스템을 깔끔하게 유지하려면 Docker(도커) 방식을, 가볍게 프로세스만 띄우려면 Python(pip) 방식을 선택합니다.
3. 로컬 전용: 처음 접속할 때 만드는 계정 정보는 외부 서버로 전송되지 않는 100% PC 내부 저장용이므로 안심하셔도 됩니다.

목차


1. Ollama와 Open WebUI의 유기적인 작동 원리

이 스택을 처음 접하면 조금 헷갈릴 수 있습니다. 백엔드와 프론트엔드의 개념으로 이해하시면 명확합니다.

  • Ollama (백엔드 엔진): Llama 3나 Gemma 2 같은 거대 언어 모델 데이터를 램(RAM)과 그래픽 코어에 올려 실제로 추론 연산을 수행하는 묵직한 가동 파트입니다.
  • Open WebUI (프론트엔드 UI): Ollama가 뱉어내는 텍스트 데이터를 받아 챗GPT처럼 깔끔한 말풍선, 코드 하이라이팅, 다크 모드, 사이드바 대화 기록 등으로 시각화해 주는 웹 애플리케이션입니다.

기본적으로 Ollama가 http://localhost:11434라는 로컬 주소로 API 서버를 열어두면, Open WebUI가 이 포트를 낚아채서 화면을 그려주는 구조를 가집니다.


2. [방법 1] Docker Desktop을 이용한 가장 안정적인 설치 (추천)

오픈소스 커뮤니티에서 공식적으로 가장 권장하는 설치 파이프라인입니다. 운영체제 환경에 구애받지 않고 컨테이너 내부에서 독립적으로 실행되므로 충돌 걱정이 없습니다.

1단계: Docker Desktop 설치

도커 공식 홈페이지에 접속하여 본인의 OS(Windows / Mac M시리즈 등)에 맞는 도커 데스크톱을 설치하고 실행해 둡니다.

2단계: 터미널에 컨테이너 구동 명령어 입력

터미널(또는 CMD, PowerShell)을 열고 아래의 마법 명령어를 그대로 복사해서 붙여넣고 엔터를 누릅니다. (이미 설치된 독립 실행형 Ollama 엔진과 연동하는 표준 명령어입니다.)

docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main
  • -p 3000:8080: 내 컴퓨터의 3000번 포트로 웹 브라우저 접속을 허용합니다.
  • -v open-webui:...: 대화 내역과 설정 데이터가 컴퓨터 보관소에 안전하게 누적되도록 볼륨을 마운트하여 데이터 유실을 방지합니다.


3. [방법 2] Python(pip) 가상환경을 이용한 가벼운 단독 설치

도커의 무거운 가상화 레이어가 부담스럽다면, 순수 파이썬 패키지 매니저를 통해 내 로컬 자원에 다이렉트로 올릴 수도 있습니다. (※ Python 3.11 환경 권장)

1단계: 가상환경 생성 및 활성화

터미널에서 적당한 작업 폴더로 이동한 뒤 시스템 꼬임을 방지하기 위해 venv를 구성합니다.

python3 -m venv open-webui-env
source open-webui-env/bin/activate

2단계: 패키지 설치 및 서버 구동

가상환경이 켜진 상태에서 아래 명령어를 차례로 입력합니다.

pip install open-webui
open-webui serve

연산이 끝나면 백엔드 서버가 로컬에 안착하며, 파이썬 모드의 기본 접속 포트는 8080번으로 지정됩니다.


4. 초기 세팅 및 첫 로컬 AI 모델 매칭하기

첫 화면 접속 및 회원가입

설치 방법에 따라 웹 브라우저 주소창에 아래 주소를 입력하고 접속합니다.

  • 도커 설치 유저: http://localhost:3000
  • 파이썬 설치 유저: http://localhost:8080

로그인 창이 뜨면 당황하지 마시고 [Sign Up]을 눌러 이름, 이메일, 비밀번호를 임의로 입력해 가입합니다. 이 데이터는 지구상 어디에도 전송되지 않고 내 컴퓨터 하드디스크 안의 로컬 DB에만 저장되는 안전한 보안 데이터입니다. (가장 먼저 가입한 계정이 자동으로 최고 관리자 권한을 가집니다.)

Ollama 모델 인식 확인 및 다이렉트 다운로드

메인 인터페이스 화면에 진입했다면 좌측 상단이나 중앙 상단의 [모델 선택] 드롭다운 메뉴를 눌러봅니다. 만약 이미 터미널에서 ollama run llama3 등으로 받아둔 모델이 있다면 리스트에 자동으로 즉시 바인딩되어 나타납니다.

만약 모델 리스트가 비어있다면, 웹 UI 내부에서 직접 다운로드할 수도 있습니다.

  1. 왼쪽 아래 내 프로필 클릭 ➡️ [Settings(설정)] ➡️ [Models(모델)] 메뉴로 이동합니다.
  2. Pull a model from Ollama.com 입력창에 원하는 모델명(예: gemma2 또는 llama3.1)을 기입합니다.
  3. 우측의 다운로드(구름 모양) 아이콘을 누르면 터미널을 만지지 않고도 웹 화면 안에서 진행률 바가 올라가며 모델 배치가 완료됩니다.

Ollama 모델 인식 확인 및 다이렉트 다운로드
Ollama 모델 인식 확인 및 다이렉트 다운로드


5. 활용도를 200% 올리는 Open WebUI 핵심 기능 가이드

강력한 핵심 기능 실전 활용 방법 및 한 끝 차이 인사이트
로컬 가속 RAG (문서 학습) 채팅창 하단의 클립 아이콘을 누르거나 PDF, TXT 파일을 드래그 앤 드롭하면, AI가 해당 문서를 즉시 인덱싱하여 오프라인 상태에서도 문서 기반 질의응답을 완벽히 수행합니다.
모드 전환 및 멀티 모델 아레나 상단 모델 레이아웃에서 2개 이상의 로컬 모델을 동시에 선택하면, 하나의 프롬프트 질문에 대해 Llama 3와 Gemma 2가 양쪽에 화면을 쪼개어 답변을 내놓는 비교 분석 배틀이 가능합니다.
시스템 프롬프트 커스텀 설정 창에서 각 모델별로 "너는 시니어 보안 엔지니어 프롬프트 스타일로 답해줘" 같은 고유의 페르소나 지시를 미리 주입해 상시 유지 시켜둘 수 있습니다.

6. 마치며: 프라이빗 AI 허브 완성하기

이제 클라우드 구독료 지출이나 기업의 서버 패치에 따라 내 프롬프트 비서의 성능이 롤러코스터를 타는 시대는 지났습니다. 내 하드웨어 자원을 백분 활용하는 Ollama 엔진과 Open WebUI의 환상적인 하모니를 통해, 완전 오프라인 비행기 모드에서도 작동하는 철통 보안 속 나만의 맞춤형 지식 허브를 구축해 보시길 바랍니다.

더 상세한 환경 변수 조정 제어나 다중 사용자 권한 분할 관리, 커스텀 플러그인(파이프 기능) 개발 가이드가 필요하시다면 오픈소스 프로젝트의 공식 아카이브인 Open WebUI 공식 문서 플랫폼 Docs를 탐독해 보시는 것을 적극 권장합니다.

처음 로그인을 마친 뒤 보안을 위해 외부 가입을 막으세요. 나 혼자 쓰는 서버라면 [Admin Panel] ➡️ [Settings] ➡️ [General]에서 Enable New User Signups 옵션을 반드시 꺼두는 것이 외부 해킹이나 자원 낭비를 방지하는 치명적인 보안 팁입니다.

본 포스팅은 공공 지식 공유를 목적으로 작성되었으며, Docker 및 Python 패키지 라이선스 가이드라인을 준수하여 안전한 내부 로컬 네트워크망에서 가동하시기 바랍니다.

💬 여러분의 웹 UI 연동 결과를 공유해 주세요!

1. 도커 방식과 파이썬 방식 중 어떤 파이프라인으로 설치를 성공하셨나요? 첫 대화창이 떴을 때의 로딩 속도는 어떠신가요?

2. 웹 UI에서 모델을 풀(Pull)할 때 Connection Refused 같은 서버 포트 충돌 에러가 발생했다면 댓글로 상황을 편하게 남겨주세요!


🔗 함께 읽으면 좋은 추천 글

댓글

Designed by JB FACTORY