Difference between revisions of "LLM: multiple open-webui"

From OnnoWiki
Jump to navigation Jump to search
(Created page with "Untuk menjalankan **beberapa instance Open WebUI** pada **port yang berbeda** dan semuanya terhubung ke **satu instance Ollama LLM**, kamu bisa menggunakan **Docker Compose**...")
 
 
Line 1: Line 1:
−
Untuk menjalankan **beberapa instance Open WebUI** pada **port yang berbeda** dan semuanya terhubung ke **satu instance Ollama LLM**, kamu bisa menggunakan **Docker Compose** atau `docker run` manual.
+
Untuk menjalankan '''beberapa instance Open WebUI''' pada '''port yang berbeda''' dan semuanya terhubung ke '''satu instance Ollama LLM''', kamu bisa menggunakan '''Docker Compose''' atau `docker run` manual.
  
−
Berikut adalah panduan **lengkap** dan jelas menggunakan **Docker**.
+
Berikut adalah panduan '''lengkap''' dan jelas menggunakan '''Docker'''.
  
−
---
 
  
−
## ✅ **Langkah 1: Jalankan Ollama (LLM Server)**
+
==✅ '''Langkah 1: Jalankan Ollama (LLM Server)'''==
−
Kamu hanya butuh **satu instance Ollama**. Jalankan Ollama seperti ini:
+
Kamu hanya butuh '''satu instance Ollama'''. Jalankan Ollama seperti ini:
  
−
```bash
+
docker run -d \
−
docker run -d \
+
  --name ollama \
−
  --name ollama \
+
  --restart always \
−
  --restart always \
+
  -p 11434:11434 \
−
  -p 11434:11434 \
+
  -v ollama:/root/.ollama \
−
  -v ollama:/root/.ollama \
+
  ollama/ollama
−
  ollama/ollama
 
−
```
 
  
 
> Port 11434 adalah default API port untuk Ollama. Jangan ubah ini agar kompatibel dengan Open WebUI.
 
> Port 11434 adalah default API port untuk Ollama. Jangan ubah ini agar kompatibel dengan Open WebUI.
  
−
---
 
  
−
## ✅ **Langkah 2: Tarik dan Load Model LLM (opsional)**
+
==✅ '''Langkah 2: Tarik dan Load Model LLM (opsional)'''==
 
Misalnya, kamu ingin menggunakan `llama3`:
 
Misalnya, kamu ingin menggunakan `llama3`:
  
−
```bash
+
docker exec -it ollama ollama pull llama3
−
docker exec -it ollama ollama pull llama3
 
−
```
 
  
 
Atau bisa kamu ganti sesuai model (misalnya `gemma`, `mistral`, `llama2`, dll).
 
Atau bisa kamu ganti sesuai model (misalnya `gemma`, `mistral`, `llama2`, dll).
  
−
---
 
  
−
## ✅ **Langkah 3: Jalankan Beberapa Open WebUI (di port berbeda)**
+
==✅ '''Langkah 3: Jalankan Beberapa Open WebUI (di port berbeda)'''==
 
Misalnya kamu ingin 3 Open WebUI di port `3000`, `3001`, dan `3002`.
 
Misalnya kamu ingin 3 Open WebUI di port `3000`, `3001`, dan `3002`.
  
−
### Open WebUI Port 3000:
+
===Open WebUI Port 3000:===
−
```bash
 
−
docker run -d \
 
−
  --name openwebui1 \
 
−
  --restart always \
 
−
  -p 3000:8080 \
 
−
  -e OLLAMA_BASE_URL=http://<host-ip>:11434 \
 
−
  openwebui/openwebui
 
−
```
 
  
−
### Open WebUI Port 3001:
+
docker run -d \
−
```bash
+
  --name openwebui1 \
−
docker run -d \
+
  --restart always \
−
  --name openwebui2 \
+
  -p 3000:8080 \
−
  --restart always \
+
  -e OLLAMA_BASE_URL=http://<host-ip>:11434 \
−
  -p 3001:8080 \
+
  openwebui/openwebui
−
  -e OLLAMA_BASE_URL=http://<host-ip>:11434 \
 
−
  openwebui/openwebui
 
−
```
 
  
−
### Open WebUI Port 3002:
+
===Open WebUI Port 3001:===
−
```bash
 
−
docker run -d \
 
−
  --name openwebui3 \
 
−
  --restart always \
 
−
  -p 3002:8080 \
 
−
  -e OLLAMA_BASE_URL=http://<host-ip>:11434 \
 
−
  openwebui/openwebui
 
−
```
 
  
−
> **Ganti `<host-ip>`** dengan IP address atau `localhost` jika dijalankan dari PC yang sama.
+
docker run -d \
 +
  --name openwebui2 \
 +
  --restart always \
 +
  -p 3001:8080 \
 +
  -e OLLAMA_BASE_URL=http://<host-ip>:11434 \
 +
  openwebui/openwebui
  
−
---
+
===Open WebUI Port 3002:===
  
−
## ✅ Catatan Penting
+
docker run -d \
 +
  --name openwebui3 \
 +
  --restart always \
 +
  -p 3002:8080 \
 +
  -e OLLAMA_BASE_URL=http://<host-ip>:11434 \
 +
  openwebui/openwebui
  
−
- **OLLAMA_BASE_URL** harus mengarah ke IP atau hostname dari instance `ollama`, bisa juga `host.docker.internal` (khusus pengguna Docker Desktop di Windows/Mac).
+
> '''Ganti `<host-ip>`''' dengan IP address atau `localhost` jika dijalankan dari PC yang sama.
−
- Kamu bisa membuat data Open WebUI persistent dengan menambahkan `-v` untuk volume storage.
 
−
- Jangan lupa, masing-masing container Open WebUI **punya user login terpisah** (walau LLM-nya sama).
 
  
−
---
 
  
−
## ✅ Versi Docker Compose (Opsional)
+
==✅ Catatan Penting==
  
−
Kalau kamu ingin pakai `docker-compose.yml`:
+
* '''OLLAMA_BASE_URL''' harus mengarah ke IP atau hostname dari instance `ollama`, bisa juga `host.docker.internal` (khusus pengguna Docker Desktop di Windows/Mac).
 +
* Kamu bisa membuat data Open WebUI persistent dengan menambahkan `-v` untuk volume storage.
 +
* Jangan lupa, masing-masing container Open WebUI '''punya user login terpisah''' (walau LLM-nya sama).
  
−
```yaml
+
==✅ Versi Docker Compose (Opsional)==
−
version: '3.8'
 
  
−
services:
+
Kalau kamu ingin pakai `docker-compose.yml`:
−
  ollama:
 
−
    image: ollama/ollama
 
−
    container_name: ollama
 
−
    ports:
 
−
      - "11434:11434"
 
−
    volumes:
 
−
      - ollama_data:/root/.ollama
 
−
    restart: always
 
  
−
  openwebui1:
+
services:
−
    image: openwebui/openwebui
+
  ollama:
−
    container_name: openwebui1
+
    image: ollama/ollama
−
    ports:
+
    container_name: ollama
−
      - "3000:8080"
+
    ports:
−
    environment:
+
      - "11434:11434"
−
      - OLLAMA_BASE_URL=http://ollama:11434
+
    volumes:
−
    restart: always
+
      - ollama_data:/root/.ollama
 +
    restart: always 
 +
 +
  openwebui1:
 +
    image: openwebui/openwebui
 +
    container_name: openwebui1
 +
    ports:
 +
      - "3000:8080"
 +
    environment:
 +
      - OLLAMA_BASE_URL=http://ollama:11434
 +
    restart: always
 +
 +
  openwebui2:
 +
    image: openwebui/openwebui
 +
    container_name: openwebui2
 +
    ports:
 +
      - "3001:8080"
 +
    environment:
 +
      - OLLAMA_BASE_URL=http://ollama:11434
 +
    restart: always
 +
 +
  openwebui3:
 +
    image: openwebui/openwebui
 +
    container_name: openwebui3
 +
    ports:
 +
      - "3002:8080"
 +
    environment:
 +
      - OLLAMA_BASE_URL=http://ollama:11434
 +
    restart: always
 +
 +
volumes:
 +
  ollama_data:
  
−
  openwebui2:
+
Jalankan dengan:
−
    image: openwebui/openwebui
 
−
    container_name: openwebui2
 
−
    ports:
 
−
      - "3001:8080"
 
−
    environment:
 
−
      - OLLAMA_BASE_URL=http://ollama:11434
 
−
    restart: always
 
−
 
 
−
  openwebui3:
 
−
    image: openwebui/openwebui
 
−
    container_name: openwebui3
 
−
    ports:
 
−
      - "3002:8080"
 
−
    environment:
 
−
      - OLLAMA_BASE_URL=http://ollama:11434
 
−
    restart: always
 
  
−
volumes:
+
docker compose up -d
−
  ollama_data:
 
−
```
 
−
 
 
−
Jalankan dengan:
 
  
−
```bash
 
−
docker compose up -d
 
−
```
 
  
−
---
+
==Pranala Menarik==
  
−
Kalau kamu butuh contoh penggunaan Open WebUI dari banyak user (kayak LAN cafe AI 🤖), atau mau setup proxy + login bersama, aku bisa bantuin juga. Mau dilanjut ke situ?
+
* [[LLM]]

Latest revision as of 09:01, 25 March 2025

Untuk menjalankan beberapa instance Open WebUI pada port yang berbeda dan semuanya terhubung ke satu instance Ollama LLM, kamu bisa menggunakan Docker Compose atau `docker run` manual.

Berikut adalah panduan lengkap dan jelas menggunakan Docker.


✅ Langkah 1: Jalankan Ollama (LLM Server)

Kamu hanya butuh satu instance Ollama. Jalankan Ollama seperti ini:

docker run -d \
  --name ollama \
  --restart always \
  -p 11434:11434 \
  -v ollama:/root/.ollama \
  ollama/ollama

> Port 11434 adalah default API port untuk Ollama. Jangan ubah ini agar kompatibel dengan Open WebUI.


✅ Langkah 2: Tarik dan Load Model LLM (opsional)

Misalnya, kamu ingin menggunakan `llama3`:

docker exec -it ollama ollama pull llama3

Atau bisa kamu ganti sesuai model (misalnya `gemma`, `mistral`, `llama2`, dll).


✅ Langkah 3: Jalankan Beberapa Open WebUI (di port berbeda)

Misalnya kamu ingin 3 Open WebUI di port `3000`, `3001`, dan `3002`.

Open WebUI Port 3000:

docker run -d \
  --name openwebui1 \
  --restart always \
  -p 3000:8080 \
  -e OLLAMA_BASE_URL=http://<host-ip>:11434 \
  openwebui/openwebui

Open WebUI Port 3001:

docker run -d \
  --name openwebui2 \
  --restart always \
  -p 3001:8080 \
  -e OLLAMA_BASE_URL=http://<host-ip>:11434 \
  openwebui/openwebui

Open WebUI Port 3002:

docker run -d \
  --name openwebui3 \
  --restart always \
  -p 3002:8080 \
  -e OLLAMA_BASE_URL=http://<host-ip>:11434 \
  openwebui/openwebui

> Ganti `<host-ip>` dengan IP address atau `localhost` jika dijalankan dari PC yang sama.


✅ Catatan Penting

  • OLLAMA_BASE_URL harus mengarah ke IP atau hostname dari instance `ollama`, bisa juga `host.docker.internal` (khusus pengguna Docker Desktop di Windows/Mac).
  • Kamu bisa membuat data Open WebUI persistent dengan menambahkan `-v` untuk volume storage.
  • Jangan lupa, masing-masing container Open WebUI punya user login terpisah (walau LLM-nya sama).

✅ Versi Docker Compose (Opsional)

Kalau kamu ingin pakai `docker-compose.yml`:

services:
  ollama:
    image: ollama/ollama
    container_name: ollama
    ports:
      - "11434:11434"
    volumes:
      - ollama_data:/root/.ollama
    restart: always  

  openwebui1:
    image: openwebui/openwebui
    container_name: openwebui1
    ports:
      - "3000:8080"
    environment:
      - OLLAMA_BASE_URL=http://ollama:11434
    restart: always

  openwebui2:
    image: openwebui/openwebui
    container_name: openwebui2
    ports:
      - "3001:8080"
    environment:
      - OLLAMA_BASE_URL=http://ollama:11434
    restart: always 

  openwebui3:
    image: openwebui/openwebui
    container_name: openwebui3
    ports:
      - "3002:8080"
    environment:
      - OLLAMA_BASE_URL=http://ollama:11434
    restart: always

volumes:
  ollama_data:

Jalankan dengan:

docker compose up -d


Pranala Menarik