Self-hosting LLM menjadi pilihan menarik bagi developer yang ingin privasi data, kontrol penuh, dan biaya prediktif. Kombinasi Ollama untuk menjalankan model lokal dan Open WebUI untuk antarmuka web yang user-friendly adalah stack yang paling banyak direkomendasikan komunitas. Dalam tutorial ini, kita akan deploy keduanya menggunakan Docker Compose.
Pastikan Docker dan Docker Compose sudah terinstall di sistem-mu. Verifikasi dengan perintah:
docker --version
docker-compose --version
Jika belum install, ikuti panduan resmi Docker sesuai OS-mu. Untuk Linux, Docker Desktop atau Docker Engine sama-sama bisa dipakai.
Ollama menyediakan image Docker official. Jalankan container dengan volume persisten agar model tidak hilang saat restart.
docker run -d
--name ollama
-v ollama:/root/.ollama
-p 11434:11434
ollama/ollama
Volume ollama akan menyimpan model di disk host. Port 11434 adalah default API Ollama yang akan dikonsumsi Open WebUI nanti.
Buat file docker-compose.yml yang menghubungkan Open WebUI ke container Ollama:
version: "3.8"
services:
ollama:
image: ollama/ollama
container_name: ollama
volumes:
- ollama:/root/.ollama
ports:
- "11434:11434"
open-webui:
image: ghcr.io/open-webui/open-webui:main
container_name: open-webui
environment:
- OLLAMA_BASE_URL=http://ollama:11434
ports:
- "3000:8080"
volumes:
- open-webui:/app/backend/data
depends_on:
- ollama
volumes:
ollama:
open-webui:
Jalankan stack dengan docker-compose up -d. Open WebUI akan tersedia di localhost:3000.
Masuk ke container Ollama dan pull model pilihan. Llama 3.1 8B adalah sweet spot untuk development lokal:
docker exec -it ollama ollama pull llama3.1:8b
Setelah download selesai, buka Open WebUI di browser. Daftar akun admin pertama, lalu mulai chat. Model akan otomatis terdeteksi karena Open WebUI polling ke Ollama API.
Untuk machine dengan RAM terbatas, batasi jumlah context length dan gunakan model quantization. Cek penggunaan resource dengan:
docker stats ollama
Jika inference lambat, pertimbangkan menggunakan GPU dengan NVIDIA Container Toolkit. Tambahkan deploy.resources.reservations.devices di docker-compose untuk akses GPU.
Self-hosting LLM memberikan fleksibilitas tinggi. Sumber tutorial ini diadaptasi dari Ollama GitHub Repository dan Open WebUI Official Documentation.
Dapatkan feedback, users, dan eksposur dari komunitas kreator, developer, dan entrepreneur digital Indonesia.
Submit Produk → Pelajari Dulu