실행 프로그램과 확장
최종 업데이트
Open WebUI로 내 컴퓨터에 AI 채팅 화면 만들기
Ollama 같은 모델 서버에 Open WebUI를 연결하면 브라우저에서 대화하고 파일을 첨부해 질문할 수 있어요.
Open WebUI는 로컬 서버에 요청을 보내는 채팅 인터페이스예요. Docker 컨테이너를 컴퓨터 안에서만 접속하도록 열고, 첫 관리자 계정을 만든 다음 Ollama 연결을 등록해요. 대화와 문서 업로드는 지정한 데이터 볼륨에 저장되므로 그 위치와 백업1을 함께 관리해야 해요.
Open WebUI는 모델에 연결하는 채팅 화면이에요
Open WebUI는 브라우저에서 로컬 언어 모델과 대화하고 파일을 첨부해 질문하도록 돕는 웹 인터페이스예요. Ollama나 OpenAI 호환 API2 서버에 연결해 입력을 보내고 답을 받아요. 모델을 직접 제공하는 도구는 아니므로, 먼저 실행 중인 모델 서버가 있어야 해요.
이 안내는 Mac 앱으로 실행하는 Ollama와 Docker Desktop의 Open WebUI를 연결해요. Docker 컨테이너를 시작하고 첫 관리자 계정을 만든 뒤 Ollama 주소를 등록해요. 모델이 선택기에 나타나면 텍스트 질문으로 응답을 확인하고, 마지막에 짧은 PDF를 첨부해 내용을 물어봐요.

Docker를 설치하고 로컬 포트에 컨테이너를 열어요
Docker Desktop을 설치하고 실행한 뒤 터미널에서 Open WebUI 컨테이너를 시작해요. 127.0.0.1:3000:8080은 이 컴퓨터의 3000번 포트만 컨테이너의 8080번 포트에 연결해요. open-webui라는 볼륨에는 계정, 설정, 대화, 업로드 데이터가 보관돼요.
docker run -d --name open-webui --restart unless-stopped -p 127.0.0.1:3000:8080 --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data ghcr.io/open-webui/open-webui:main컨테이너가 시작되면 브라우저에서 http://127.0.0.1:3000을 열어요. 첫 화면에 Create Admin Account가 보이면 이름과 비밀번호를 정해 계정을 만들어요. 이 첫 계정이 관리자이며, 이후 일반 가입은 기본적으로 닫힙니다. 비밀번호와 Docker 볼륨을 함께 보관해야 설정과 대화에 다시 접근할 수 있어요. 로그인했으면 다음 절에서 Ollama를 연결해 모델 목록을 불러와요.
Docker 안의 Open WebUI에서 Ollama 주소를 연결해요
이 설정은 Ollama를 Mac 앱으로 실행하고 Open WebUI를 Docker Desktop에서 실행할 때 사용해요. 컨테이너 안의 localhost는 Ollama가 아니라 Open WebUI 컨테이너를 가리켜요. Docker Desktop에서 호스트 Mac의 Ollama API에 연결할 때는 http://host.docker.internal:11434를 사용해요.
Ollama는 기본적으로 Mac의 127.0.0.1에서만 연결을 받아요. Docker의 요청을 받으려면 macOS 앱을 시작하기 전에 OLLAMA_HOST를 0.0.0.0:11434로 설정하고 앱을 다시 실행해요. 이 설정은 모든 네트워크 인터페이스에서 연결을 받고 기본 API 인증도 제공하지 않아요.
신뢰할 수 없는 네트워크에서는 이 설정을 사용하지 마세요. 방화벽에서 11434번 포트로 들어오는 연결을 제한하고 라우터를 통해 포트를 공개하지 않아요.
launchctl setenv OLLAMA_HOST 0.0.0.0:11434아바타 메뉴에서 Settings → Admin → Connections로 이동해 Ollama API 연결을 열고 http://host.docker.internal:11434를 입력해 저장해요. 모델 선택기에 Ollama에서 받은 모델이 표시되면 짧은 텍스트 질문을 보내 응답을 확인해요. 모델 이름이 보이지 않거나 연결 오류가 나면 먼저 Ollama 앱이 실행 중인지, 터미널의 ollama list에 모델이 나오는지 확인해요.
ollama list
대화 저장과 PDF 질의를 실제 파일로 확인해요
연결한 모델에 먼저 공개해도 되는 짧은 텍스트를 보내고 답을 받아요. 새 대화를 시작해 같은 문장을 보내면 별도 대화로 기록되고, 사이드바에서 이전 대화를 열어 답이 저장됐는지 확인할 수 있어요. 데이터 볼륨을 삭제하면 저장한 대화도 함께 사라질 수 있으므로 볼륨 정리 명령을 실행하기 전에 필요한 데이터를 백업해요.
그다음 짧은 PDF를 첨부하고 문서에서 특정 제목이나 날짜를 찾아 달라고 물어요. 답에 나온 항목을 PDF의 실제 페이지와 대조하면, 파일이 모델에 전달되고 응답이 작업에 쓸 만한지 함께 살펴볼 수 있어요. PDF 페이지가 이미지 스캔이면 문자 추출이 필요할 수 있고, 파일의 개인정보나 업무 기밀은 로컬에 저장되는 위치와 백업 범위를 먼저 확인한 뒤 올려요.

화면이나 모델이 응답하지 않을 때 첫 오류를 좁혀요
브라우저에서 화면이 열리지 않으면 터미널에서 docker ps로 컨테이너가 실행 중인지 보고, 멈춰 있으면 docker logs open-webui에서 첫 오류를 읽어요. docker ps에 컨테이너가 없거나 포트 사용 오류가 보이면 3000번 포트를 쓰는 다른 프로그램이 있는지 확인하고, 다른 로컬 포트로 다시 매핑해요.
화면은 열리는데 모델이 보이지 않으면 Settings → Admin → Connections에서 Ollama 주소가 http://host.docker.internal:11434인지 확인해요. 이 주소는 Mac의 Docker Desktop에서 사용해요. ollama list에 모델이 있고 Ollama도 실행 중인데 연결 오류가 나면 Mac의 Ollama가 Docker 요청을 받도록 설정됐는지 살펴봐요.
Linux 호스트에 Ollama를 설치했다면 host.docker.internal을 자동으로 쓸 수 없는 경우가 있어요. Docker의 host-gateway 매핑이나 호스트 네트워크 연결을 구성하고, 그에 맞는 Ollama 주소를 지정해요.
용어 각주
자주 묻는 질문
- 이 글에서 가장 먼저 확인할 것은 무엇인가요?
- Open WebUI는 로컬 서버에 요청을 보내는 채팅 인터페이스예요. Docker 컨테이너를 컴퓨터 안에서만 접속하도록 열고, 첫 관리자 계정을 만든 다음 Ollama 연결을 등록해요. 대화와 문서 업로드는 지정한 데이터 볼륨에 저장되므로 그 위치와 백업을 함께 관리해야 해요.
- 선택하지 않는 편이 좋은 경우는 언제인가요?
- 신뢰할 수 없는 네트워크에서는 이 설정을 사용하지 마세요. 방화벽에서 11434번 포트로 들어오는 연결을 제한하고 라우터를 통해 포트를 공개하지 않아요.
