Cara Instalasi Ollama di qVM

Daftar Isi
Ollama adalah runtime untuk menjalankan model LLM (Large Language Model) open source secara lokal — Llama, Qwen, Gemma, Phi, dan sejenisnya — tanpa bergantung ke API pihak ketiga. Panduan ini menjelaskan cara menjalankan Ollama sebagai container Docker di qVM Ubuntu 24.04 LTS, mulai dari menjalankan container, memilih model yang sesuai dengan RAM yang tersedia, sampai uji coba chat menggunakan CLI.
Pengenalan
Ollama menyediakan REST API di port 11434 untuk berkomunikasi dengan model yang sedang di-load — tapi API ini tidak punya autentikasi bawaan sama sekali. Siapa pun yang bisa mengakses port tersebut otomatis bisa menggunakan model, melihat daftar model yang ter-install, bahkan menghapusnya, tanpa perlu login. Karena qVM tidak mengaktifkan firewall secara default dan setiap instance cuma punya IP Publik (bukan private network), meng-expose port 11434 langsung ke internet berarti siapa pun bisa menggunakan resource compute qVM Anda secara gratis, atau mengganggu model yang sedang berjalan.
Pada panduan ini, container Ollama sengaja dikonfigurasi supaya tidak mem-publish port 11434 ke host sama sekali — container cuma bisa diakses melalui Docker internal network oleh container lain. Prinsipnya sederhana: expose seminimal mungkin ke publik, dan biarkan cuma komponen yang memang punya sistem login sendiri yang terhubung ke internet.
Karena qVM tidak dilengkapi GPU, inference berjalan murni di CPU — jauh lebih lambat dibanding GPU, tapi tetap layak digunakan untuk model kecil (1-3 miliar parameter). Kecepatan CPU inference sangat bergantung pada ukuran model yang Anda pilih: makin besar model, makin lambat token per detik yang dihasilkan.
Ubuntu 24.04 LTS dipilih sebagai basis OS karena mendapat dukungan resmi (security update dan bug fix) sampai April 2029.
Persyaratan
Sebelum mulai instalasi, pastikan hal-hal berikut sudah terpenuhi:
Software
- Ubuntu 24.04 LTS dengan Docker Engine dan Docker Compose sudah terpasang
- Akses root atau user dengan hak sudo, sudah tergabung di group
docker - Koneksi internet untuk mengunduh image Docker dan model LLM (ukuran model bisa mencapai beberapa GB)
Baca juga: Cara Instalasi Docker & Docker Compose di Ubuntu 24.04 LTS
Hardware / Spesifikasi VPS qVM
Panduan ini menggunakan paket qVM-4, dengan spesifikasi:
- vCPU: 2
- RAM: 4 GB
- Storage: NVMe 60 GB
- 1 IP Publik
RAM adalah faktor pembatas utama untuk menjalankan LLM lokal — sebagai patokan kasar, model yang di-quantize ke Q4 butuh RAM kurang lebih seukuran jumlah parameter dalam GB (model 1B ≈ 1 GB, model 3B ≈ 2-3 GB), ditambah overhead OS dan Docker. Di qVM-4 dengan RAM 4 GB, model yang realistis Anda jalankan ada di kisaran 1-3 miliar parameter — misalnya llama3.2:1b, qwen2.5:1.5b, atau gemma2:2b. Model 7B ke atas butuh RAM jauh lebih besar (idealnya 16 GB) supaya nyaman digunakan; kalau kebutuhan Anda ke arah situ, upgrade ke paket qVM dengan RAM lebih tinggi.
Tahapan
1. Buat Docker Network Khusus
Buat network Docker terpisah — berguna kalau nanti Anda ingin menghubungkan Ollama dengan container lain (misalnya antarmuka web) menggunakan nama container, terisolasi dari network Docker default:
docker network create ollama-net2. Jalankan Container Ollama
docker run -d \
--name ollama \
--network ollama-net \
-v ollama_data:/root/.ollama \
--restart unless-stopped \
ollama/ollamaPerhatikan tidak ada flag -p pada perintah di atas — ini disengaja, sesuai alasan keamanan yang dijelaskan di Pengenalan. Container tetap bisa dijangkau container lain di ollama-net menggunakan hostname ollama pada port 11434 internal, tapi port tersebut tidak ter-bind ke IP Publik qVM sama sekali.
Penjelasan flag yang digunakan:
-v ollama_data:/root/.ollama— named volume untuk menyimpan model yang sudah Anda unduh, supaya tidak hilang saat container di-restart atau di-recreate.--restart unless-stopped— container otomatis jalan lagi setelah qVM reboot, kecuali memang sengaja Anda hentikan manual.
3. Verifikasi Container Berjalan
docker ps --filter name=ollamaCek log untuk memastikan Ollama sudah siap menerima request:
docker logs ollama
4. Download Model Pertama
Jalankan ollama pull di dalam container untuk mengunduh model. Sebagai contoh, gunakan model llama3.2:1b — ukurannya kecil dan cocok untuk RAM 4 GB di qVM-4:
docker exec ollama ollama pull llama3.2:1bProses download bisa memakan waktu beberapa menit tergantung ukuran model dan kecepatan koneksi qVM Anda. Cek daftar model yang sudah terunduh:
docker exec ollama ollama list
5. Uji Coba Chat Menggunakan CLI
docker exec -it ollama ollama run llama3.2:1b
Perintah di atas membuka sesi chat interaktif langsung di terminal. Ketik pertanyaan apa saja untuk menguji respons model, lalu ketik /bye untuk keluar dari sesi.
Image resmi
ollama/ollamahanya menyertakan binaryollamadi dalamnya — tidak adacurl,wget, atau tools lain. Jadidocker exec ollama curl ...akan selalu gagal dengan errorexecutable file not found in $PATH, walau container-nya berjalan normal. Cara yang benar untuk menguji REST API-nya ada di studi kasus pada tahap berikutnya.
6. Studi Kasus: Membuktikan Isolasi Network Ollama
Pengenalan panduan ini menjelaskan bahwa Ollama sengaja tidak ter-expose ke internet — tapi klaim itu sebaiknya dibuktikan, bukan sekadar dipercaya. Studi kasus ini sekaligus jadi cara yang benar untuk menguji REST API Ollama dari luar container-nya sendiri: dari container lain yang tergabung di ollama-net (seharusnya berhasil), dan langsung dari qVM di luar Docker network (seharusnya gagal).
Dari container terpisah di network yang sama — jalankan container sementara berbasis image curlimages/curl (image kecil yang memang isinya cuma curl, tanpa ketergantungan ke ollama/ollama), hubungkan ke ollama-net, lalu kirim request ke Ollama menggunakan hostname ollama:
docker run --rm --network ollama-net curlimages/curl -s http://ollama:11434/api/generate -d '{
"model": "llama3.2:1b",
"prompt": "Sebutkan 3 manfaat menjalankan LLM secara lokal, jawab singkat saja.",
"stream": false
}'Flag --rm membuat container otomatis terhapus begitu perintah selesai — cocok untuk pengujian yang cuma dijalankan sekali seperti ini. Response JSON berisi jawaban model seharusnya langsung muncul, membuktikan container mana pun yang tergabung di ollama-net bisa mengakses Ollama tanpa hambatan — persis pola yang nanti digunakan Open WebUI untuk terhubung ke Ollama.
Langsung dari qVM, di luar Docker network — coba akses port yang sama, kali ini dari shell qVM langsung, bukan dari dalam container mana pun:
curl http://127.0.0.1:11434/api/generate -d '{"model": "llama3.2:1b", "prompt": "test"}'
Percobaan ini seharusnya gagal dengan Connection refused. Bukan bug — justru bukti bahwa port 11434 memang benar-benar tidak ter-bind ke host sama sekali, sesuai desain di awal. Siapa pun yang mencoba mengakses Ollama dari IP Publik qVM melalui internet akan mendapat hasil yang sama persis: ditolak.
Studi kasus ini jadi dasar penting kalau Anda membangun aplikasi sendiri di atas Ollama — aplikasi tersebut cukup dijalankan sebagai container yang tergabung di ollama-net, bukan mengakses melalui IP Publik qVM.
Kesimpulan
qVM-4 Anda sekarang sudah menjalankan Ollama sebagai container Docker, dengan model llama3.2:1b ter-install dan bisa diuji menggunakan CLI maupun REST API internal. Sesuai desain di awal, port 11434 sengaja tidak ter-expose ke internet publik — kalau Anda ingin memberi akses menggunakan browser dengan tampilan chat yang lebih ramah pengguna.
Akun Sequel Anda siap untuk memesan & mengelola layanan cloud.
