LLM: multiple open-webui

From OnnoWiki
Revision as of 09:01, 25 March 2025 by Onnowpurbo (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

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