Ollama: Jalankan Model AI Lokal Seperti Docker
Harga API AI terus naik, bahkan model China pun ikut mahal. Gue coba Ollama di Docker pakai Gemma 4 E4B sebagai alternatif lokal gratis untuk workflow agentic.

Ollama bikin gue mikirin ulang soal local AI. Bulan lalu gue buka dashboard Claude API dan cuma bisa melongo lihat angkanya. Belum sampai bikin kantong bolong sih, tapi tren-nya jelas mengarah ke atas. Dan itu baru buat eksperimen pribadi aja.
Gue mulai cari alternatif. Bukan buat gantiin Claude untuk kerjaan coding yang serius, tapi buat ngurangin ketergantungan ke paid API untuk tugas-tugas yang sebenarnya tidak butuh kecerdasan level tinggi. Pencarian itu akhirnya nemu Ollama.
Harga AI Makin Bikin Pusing
Waktu pertama kali pakai AI API, model-model China rasanya kayak cheat code. DeepSeek dan Qwen kasih hasil yang lumayan bagus dengan harga jauh lebih murah dibanding Claude atau ChatGPT 5.4. Banyak developer diam-diam pindahin workload side project mereka ke sana.
Tapi kemudian demand meledak. Kedua model itu jadi populer secara global dan provider-nya pun menyesuaikan harga. Opsi murah itu sekarang tidak semurah dulu. Lo masih hemat dibanding Claude Opus 4.7 atau ChatGPT 5.4, tapi selisihnya sudah tidak sesignifikan awal-awal.
Polanya sama di mana-mana: kapabilitas AI meningkat, adopsi naik, harga ikut naik. Satu-satunya jalan keluar yang beneran adalah berhenti bayar per token dan jalanin model di hardware sendiri.
Di sini Ollama jadi relevan banget.
Apa Itu Ollama
Ollama adalah tool untuk menjalankan large language model secara lokal. Kalau lo pernah pakai Docker, mental model-nya sangat familiar. Docker memungkinkan lo pull dan run aplikasi yang sudah di-containerize dengan satu perintah. Ollama melakukan hal yang sama untuk model AI.
Lo jalanin ollama pull gemma4 dan model-nya langsung download. Lo jalanin ollama run gemma4 dan lo dapat prompt interaktif. Model-nya tinggal di mesin lo, inference-nya terjadi secara lokal, dan tidak ada API key, tidak ada rate limit, dan tidak ada billing per token.
Kemiripannya dengan Docker bahkan lebih jauh dari itu. Ollama punya konsep registry sendiri, versioning model, dan CLI yang terasa natural kalau lo sudah terbiasa dengan container. Bahkan ada REST API lokal supaya aplikasi lo bisa ngobrol sama Ollama persis seperti ngobrol dengan OpenAI atau Anthropic.
Buat developer yang terbiasa berpikir dalam kerangka infrastruktur, Ollama langsung masuk akal deh.
Gue Install Ollama di Dalam Docker
Di sini gue melangkah lebih jauh. Alih-alih install Ollama langsung di laptop, gue jalanin di dalam Docker container. Alasannya adalah isolasi. Gue tidak mau file model dan proses Ollama campur aduk dengan environment lokal gue. Gue mau bisa tear down dengan bersih kalau diperlukan.
Setup-nya cukup sederhana. Lo butuh Docker dengan GPU access kalau mau inference yang lebih cepat, tapi CPU-only juga jalan fine untuk model yang lebih kecil.
# docker-compose.yml
services:
ollama:
image: ollama/ollama
container_name: ollama
ports:
- "11434:11434"
volumes:
- ollama_data:/root/.ollama
restart: unless-stopped
volumes:
ollama_data:Jalanin dengan:
docker compose up -dSetelah container berjalan, lo pull model dengan menjalankan perintah di dalamnya:
docker exec -it ollama ollama pull gemma4:e4bOllama API sekarang bisa diakses di http://localhost:11434. Tool atau aplikasi apa pun yang mendukung OpenAI-compatible API bisa langsung nunjuk ke endpoint ini dengan ganti base URL.
Model Pertama: Gemma 4 E4B
Gue pilih Gemma 4 E4B sebagai model pertama yang dicoba. Ada beberapa alasannya nih.
Ini generasi terbaru dari keluarga Gemma buatan Google. Varian E4B pakai arsitektur yang efisien sehingga bobot model-nya cukup kecil untuk jalan nyaman di laptop. Di mesin gue, model ini load dalam beberapa detik dan inference-nya cukup cepat untuk terasa responsif saat ngobrol.
Pull dan jalanin-nya seperti ini:
# Pull di dalam container
docker exec -it ollama ollama pull gemma4:e4b
# Test langsung
docker exec -it ollama ollama run gemma4:e4b "Apa itu Ollama?"Atau bisa panggil REST API-nya dari host machine:
curl http://localhost:11434/api/generate \
-d '{
"model": "gemma4:e4b",
"prompt": "Jelaskan Ollama dalam satu paragraf",
"stream": false
}'Responsnya lumayan. Untuk pertanyaan umum, ringkasan, dan tugas penalaran sederhana, Gemma 4 E4B cukup oke.
Jujur: Untuk Coding Ceritanya Beda
Gue mau jujur soal ini. Untuk pekerjaan coding yang serius, Gemma 4 E4B tidak ada di liga yang sama dengan Claude Opus 4.7 atau ChatGPT 5.4. Selisihnya signifikan banget.
Dengan Claude Opus 4.7, gue bisa jelaskan masalah arsitektur yang kompleks dan dapat respons yang menunjukkan pemahaman nyata tentang trade-off, edge case, dan constraint dunia nyata. Dengan Gemma 4 E4B secara lokal, responsnya sering kali secara teknis benar tapi kurang dalam. Dia kesulitan dengan debugging yang nuanced, konteks codebase yang besar, dan apa pun yang butuh menghubungkan banyak informasi dalam percakapan panjang.
Ini bukan kritik terhadap Ollama atau Gemma secara khusus. Ini mencerminkan realitas fundamental: model frontier terbaik itu memang frontier karena alasan yang jelas, dan menjalankan model yang lebih kecil secara lokal tidak akan menyamainya.
Kalau kerjaan lo bergantung pada kualitas kode, refactoring yang kompleks, atau keputusan arsitektur, biaya Claude itu worth it.
Baca Juga: GitHub Copilot Limit Abis? Claude Code Solusinya Nih!
Baca Juga: OpenCode Multi-Model CLI: Switch AI Tanpa Batas
Di Mana Model Lokal Beneran Berguna: Agentic Workflow
Di sinilah perhitungannya berubah. Ketika lo jalanin agentic workflow, model bukan yang menghasilkan output final yang lo ship. Dia yang mengorkestrasikan serangkaian aksi: baca file, panggil tool, jalankan perintah, dan cek hasilnya.
Dalam konteks itu, model tidak perlu jenius di setiap langkah. Dia perlu cukup reliable untuk menjalankan rencana dan cukup responsif supaya workflow tidak lambat.
Gue pakai OpenClaw sebagai setup agentic agent. Ini alternatif self-hosted untuk Claude Code yang bisa lo jalankan di server remote. Insight kuncinya adalah untuk lapisan orkestrasi dari agentic workflow, Gemma 4 E4B yang jalan lokal lewat Ollama sering kali sudah cukup.
Tugas yang dia tangani dengan baik dalam peran ini antara lain: baca dokumentasi, generate boilerplate, ringkas output, dan navigasi decision tree sederhana. Ini bukan tugas yang butuh penalaran level frontier. Yang dibutuhkan adalah model yang ikuti instruksi secara konsisten dan respons dengan cepat.
Baca Juga: Setup OpenClaw di Server Remote: SSH Tunnel dan PM2
Strategi Gue Sekarang: Bagi Berdasarkan Tipe Tugas
Setelah jalanin setup ini beberapa minggu, gue akhirnya mantap dengan pembagian yang jelas.
Gemma 4 E4B via Ollama tangani orkestrasi agentic di OpenClaw. Dia yang jalankan workflow, panggil tool, dan kelola loop-nya. Karena lokal, tidak ada biaya per request, tidak ada rate limiting, dan tidak ada latency ke API eksternal.
Claude Code tangani tugas coding yang sebenarnya. Ketika agentic workflow sampai di titik di mana kode nyata perlu ditulis, di-review, atau di-debug, gue delegate ke Claude. Ini buat API call yang mahal tetap fokus pada pekerjaan yang beneran butuh kecerdasan level tinggi.
Penghematan biayanya nyata nih. Sebagian besar API call yang sebelumnya mengenai Claude sekarang ditangani secara lokal tanpa biaya tambahan. Kualitas pekerjaan coding tetap tinggi karena model yang capable masih mengerjakan hal yang membutuhkan kapabilitasnya.
Perlu Dicoba Atau Enggak
Kalau lo lagi keluar uang untuk AI API buat automated workflow atau setup agentic apa pun, Ollama worth buat dicoba. Instalasinya mudah, setup berbasis Docker menjaga semuanya terisolasi, dan ekosistem model-nya sudah cukup berkembang sehingga lo bakal nemu sesuatu yang cocok untuk kebanyakan tugas.
Jangan ekspektasikan menggantikan coding assistant utama lo. Tapi ekspektasikan pengurangan jumlah API call yang lo bayar, dan dapat AI lokal yang berguna dan tetap jalan bahkan saat offline.
Kombinasi model lokal untuk orkestrasi dan model frontier untuk pekerjaan yang butuh kualitas tinggi adalah pola yang masuk akal buat siapa pun yang peduli dengan kapabilitas dan biaya sekaligus.


