LLM: multiple open-webui
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