
tadi pagi, aku berhasil menjalankan AI Local menggunakan Ollama di dalam VM Rocky Linux 9.5 yang berjalan di Proxmox. Awalnya aku hanya ingin mencoba menjalankan model AI secara lokal dan memahami bagaimana sebuah Large Language Model (LLM) bisa berjalan tanpa bergantung pada layanan cloud seperti ChatGPT atau Gemini.
Setelah berhasil menjalankan model Gemma 3 4B melalui Ollama, muncul tantangan berikutnya: bagaimana caranya agar AI tersebut bisa diakses melalui antarmuka yang lebih nyaman seperti ChatGPT?
Di sinilah perjalananku bersama Open WebUI dimulai.
Memulai dengan Ollama
Sebelumnya, aku sudah berhasil menginstal Ollama dan menjalankan model Gemma 3 4B di VM Rocky Linux.
Ketika menjalankan perintah:
ollama list
aku bisa melihat model yang sudah tersedia:
NAME ID SIZE
gemma3:4b xxxxxxxxxxxx 3.3 GB
Aku juga sudah melakukan pengujian menggunakan API Ollama dengan perintah:
curl http://localhost:11434/api/tags
Hasilnya menunjukkan bahwa model Gemma 3 4B berhasil terdeteksi oleh Ollama.
Sampai titik ini, AI sebenarnya sudah berjalan dengan baik. Namun interaksi masih dilakukan melalui terminal, sehingga kurang nyaman digunakan untuk percakapan yang panjang.
Mengenal Open WebUI
Setelah mencari beberapa alternatif antarmuka untuk AI Local, aku memutuskan menggunakan Open WebUI.
Open WebUI adalah aplikasi berbasis web yang berfungsi sebagai antarmuka pengguna untuk berinteraksi dengan model AI yang dijalankan oleh Ollama. Dengan Open WebUI, pengalaman pengguna menjadi jauh lebih mirip seperti menggunakan ChatGPT.
Arsitektur sederhananya adalah:
Browser
↓
Open WebUI
↓
Ollama
↓
Gemma 3 4B
Aku kemudian menginstal Open WebUI menggunakan Docker karena proses deployment-nya jauh lebih sederhana dan cepat.
Tantangan Pertama: Open WebUI Tidak Menampilkan Model
Setelah Open WebUI berhasil dijalankan dan bisa diakses melalui browser, aku mengira semuanya sudah selesai.
Ternyata tidak.
Masalah pertama yang muncul adalah dropdown pemilihan model di Open WebUI kosong. Padahal jika dicek melalui terminal, model Gemma 3 4B sudah terinstal dan bisa digunakan.
Aku mulai melakukan investigasi.
Langkah pertama adalah memastikan bahwa Ollama memang berjalan.
ss -tulpn | grep 11434
Hasilnya menunjukkan bahwa Ollama sedang mendengarkan pada port 11434.
Kemudian aku memastikan API Ollama bisa diakses.
curl http://localhost:11434/api/tags
API berhasil mengembalikan daftar model yang tersedia.
Artinya Ollama tidak bermasalah.
Menemukan Akar Masalah
Setelah melakukan beberapa pengecekan, aku menemukan sesuatu yang menarik.
Output dari perintah:
ss -tulpn | grep 11434
menunjukkan:
127.0.0.1:11434
Di sinilah sumber masalahnya.
Alamat 127.0.0.1 berarti Ollama hanya menerima koneksi dari localhost atau mesin itu sendiri. Sementara Open WebUI berjalan sebagai container Docker yang dianggap sebagai lingkungan terpisah.
Akibatnya Open WebUI tidak dapat berkomunikasi dengan Ollama.
Memperbaiki Konfigurasi Ollama
Solusinya adalah mengubah binding address Ollama agar dapat diakses dari luar localhost.
Aku membuat override pada service systemd Ollama:
sudo systemctl edit ollama
Kemudian menambahkan konfigurasi:
[Service]
Environment="OLLAMA_HOST=0.0.0.0:11434"
Setelah itu service direload:
sudo systemctl daemon-reload
sudo systemctl restart ollama
Konfigurasi ini membuat Ollama tidak hanya mendengarkan koneksi dari localhost, tetapi juga menerima koneksi dari jaringan yang tersedia.
Pengujian Kembali
Setelah konfigurasi diperbaiki, aku kembali membuka Open WebUI.
Kali ini dropdown model mulai menampilkan:
gemma3:4b
Ini adalah momen yang cukup menyenangkan karena berarti Open WebUI akhirnya berhasil berkomunikasi dengan Ollama.
Aku kemudian memilih model tersebut dan mengirimkan prompt sederhana.
Tidak lama kemudian, AI memberikan jawaban.
Artinya seluruh rantai sistem sudah bekerja dengan baik.
Arsitektur Akhir yang Berhasil Dibangun Seperti ini:
Laptop Browser
↓
Open WebUI
↓
Docker Container
↓
Ollama
↓
Gemma 3 4B
↓
Rocky Linux 9.5 VM
↓
Proxmox VE
↓
Server
Apa yang Aku Pelajari
Dari proses ini, aku belajar bahwa menjalankan AI Local bukan hanya tentang menginstal model AI.
Ada banyak komponen yang harus saling terhubung:
- Virtualisasi menggunakan Proxmox
- Sistem operasi Linux
- Runtime model menggunakan Ollama
- Container menggunakan Docker
- Antarmuka berbasis web menggunakan Open WebUI
- Networking dan konfigurasi service Linux
Justru bagian troubleshooting inilah yang memberikan banyak pelajaran baru. Ketika sebuah sistem tidak berjalan sesuai harapan, kita dipaksa memahami bagaimana setiap komponen saling berkomunikasi.
Berhasil mengintegrasikan Open WebUI dengan Ollama menjadi salah satu milestone penting dalam perjalanan belajarku mengenai AI Local.
Sekarang aku memiliki AI yang berjalan sepenuhnya di server sendiri, dapat diakses melalui browser seperti ChatGPT, dan siap menjadi fondasi untuk eksperimen berikutnya seperti RAG (Retrieval Augmented Generation), integrasi dokumen perusahaan, maupun pengembangan aplikasi AI internal.
Perjalanan ini membuktikan bahwa membangun AI Local tidak selalu harus dimulai dengan infrastruktur yang rumit. Dengan Proxmox, Rocky Linux, Ollama, Docker, dan Open WebUI, kita sudah bisa memiliki lingkungan AI yang cukup powerful untuk belajar maupun kebutuhan internal.
