새로워지기/마흔의 생활코딩

LLM | ollama 3부. 온라인(내 도메인으로) 브라우저에서 실행하기

청춘만화 2024. 3. 8. 13:39

- ollama 1부. 로컬 터미널에서 실행하기 : Linux(wsl 2), MacOS
- ollama 2부. 로컬 브라우저에서 실행하기 open-webui 
👉 ollama 3부. 온라인(내 도메인으로) 브라우저에서 실행하기 : url로 친구과 함께 사용하기  
- ollama 4부. 검색증강 RAG 적용하기
- ollama 5부. 이미지 인식 적용하기 
- (준비 중) ollama 6부. MOE mixture of exports 방식 적용하기

 

 

 

 

ollama browser - online, url 접속 

1. ngrok 가입한 후 로그인 하기 

1) ngrok 란? 

 

ngrok | Unified Application Delivery Platform for Developers

ngrok is a secure unified ingress platform that combines your global server load balancing, reverse proxy, firewall, API gateway and Kubernetes Ingress Controller to deliver applications and APIs.

ngrok.com

먼저 ngrok 은 외부 인터넷 망에서 로컬 PC로 접속하는 방법을 제공하는 툴로 아마 많은 회사에서 이미 사용 중인 경우도 많을 것이다. 대부분의 경우 개발자가 개발 중인 임시 데모를 내부 기획자나 디자이너와 손쉽게 공유하기 위해 사용되곤 한다. 

ngrok 은 NAT와 방화벽 뒤에있는 로컬 서버를 안전한 터널을 통해 공개 인터넷에 노출할 수 있도록 지원( 웹훅을 이용해 로컬서버를 ngrok.com쪽에 바인딩)해주는 플랫폼으로 손쉽게 로컬에 실행중인 서버를 외부에서 접근 가능하는 기능을 제공한다. 다만, 보안에 아주 치명적일 수 있어 개발팀에서 진행중인 데모를 공유하는 용도로 가볍게 사용할 수는 있어도 외부에 공개적인 서비스에 적용하기에는 여러 측면에서 무리가 따를 수 있다. 

참고로 이 과정은 홈서버 운영을 위해 라떼는 말야..  iptime 공유기 어드민 페이지에 접속해서 DNS, 포트포워딩 설정을 하던 과정의 결과와 동일하다.   

 

2) ngrok 에 가입한 후 로그인한다 
내 컴퓨터의 OS에 맞춰 자동으로 해당 페이지로 이동시켜준다. 이제 해당 페이지에서 제공하는 내용들을 순서대로 진행하면 된다. 명령어만 다르고 절차와 과정은 거의 유사하다. 여기서 부터는 아래 페이지에서 제공하는 코드를 복붙해서 사용하면됨. 아래 명령어는 단순 참조만.

 

ngrok - Online in One Line

 

dashboard.ngrok.com

로그인해서 setup&installation 메뉴로 이동한 화면

 

 

3) 검색에서 [터미널]를 검색해서 실행

터미널 검색

 

4) 홈브루를 통해 ngrok을 설치하는 명령어를 작성하고 엔터를 친다. 
 brew install ngrok/ngrok/ngrok 

5) 기본 ngrok.yml 구성 파일에 인증 토큰을 추가하는 명령어를 작성한 후 엔터를 친다. ( *로그인한 계정의 토큰이 입력되어 있어서 해당 페이지에 있는 코드를 그냥 복붙하면 됨) 
 ngrok config add-authtoken 2cD7AgtestRQhjGB8EXtestNCYx_5AdmC8testXznTGVtest 

 

6) 터미널을 하나 더 열어서 앞의 과정에서 설치했던 WebUI를 구동시킨다.

WebUI 실행하기

 

7) 조금 전에 작성했던 첫 터미널로 돌아와서, 아래 명령어를 작성한 후 엔터를 치면
 ngrok http http://localhost:8080   ( *이때 뒤에 오는 포트 번호는 다른 터미널 창의 실행결과로 나오는 포트번호와 동일하게 작성한다. 대부분 8080이지만 간혹 3000번이나 8000번 등으로 포트가 지정되는 경우도 있다. 연결 대상이 앞서 실행한 앱이기 때문에 기준은 ngrok 사이트에 작성된 코드가 아닌 위 결과에서 제공하는 포트번호를 기준으로 작성하도록 한다.) 
여기까지 정상적으로 진행이 완료되면 아래와 같이, 
ngrok에서 제공하는 '임시 도메인 포워딩' 기능을 제공하는 업스트림 서비스를 사용해서 온라인으로 배포할 수 있게 된다. 

ngrok 실행 결과.  ngrok 가입 계정정보와 포트포워딩 타깃과 결과에 대한 정보를 제공한다

 

8) 터미널에서 생성된 url를 브라우저 검색창에 입력하면, ngrok에서 제공하는 업스트림 서비스에 대한 상태 정보가 안내된다. 

생성된 url로 접속하기

 

9) visit site 버튼을 클릭하면 로컬에서 실행했을 때와 동일한 결과를 브라우저에서 확인할 수 있다.  

이전과 동일하게 접속된 WebUI 로그인 화면