LLM: multiple open-webui

From OnnoWiki
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