Install AI Lokal Tanpa Internet Menggunakan Ollama
Pendahuluan
Ollama memungkinkan Anda menjalankan model bahasa besar (LLM) secara lokal tanpa koneksi internet. Ini cocok untuk lingkungan dengan kebijakan data ketat atau jaringan terbatas. Tutorial ini menjelaskan arsitektur minimal: host Linux β Docker Engine β container Ollama β model LLM.
Prasyarat & Persiapan
- Hardware: CPU x86_64 (minimal 4 core), RAM β₯ 8β―GB, SSD β₯ 20β―GB.
- Sistem Operasi: Ubuntu 22.04 LTS atau Debian 12 (kernel β₯ 5.4).
- Software:
- Docker Engine 24.x atau lebih baru (
docker --version). curl,git.- Akun: Tidak diperlukan akun Ollama, namun untuk mengunduh model tambahan Anda dapat menggunakan layanan AI seperti ChatGPT Plus, Claude Pro, atau Gemini Advanced.
- Koneksi internet satu kali: diperlukan untuk mengunduh image Docker dan model yang akan dipindahkan ke lingkungan offline.
Langkah Demi Langkah
Step 1 β Instal Docker Engine
# Update paket index
sudo apt-get update
# Install prerequisite packages
sudo apt-get install -y ca-certificates curl gnupg lsb-release
# Add Dockerβs official GPG key
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
# Set up the stable repository
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] \
https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
# Install Docker Engine
sudo apt-get update
sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
# Verify installation
docker --version
Step 2 β Pull Ollama Image (online)
# Pull the official Ollama image
docker pull ollama/ollama:latest
# Export the image to a tarball for offline transfer
docker save ollama/ollama:latest -o ollama_image.tar
Catatan: Transfer
ollama_image.tarke server offline menggunakan USB atau jaringan internal.
Step 3 β Load Image pada Server Offline
# Pada server target (tanpa internet)
sudo docker load -i ollama_image.tar
# Verifikasi
sudo docker images | grep ollama
Step 4 β Unduh Model Secara Offline
- Pada mesin dengan internet, jalankan container Ollama untuk mengunduh model yang diinginkan (mis.
llama3).
# Jalankan container sementara
sudo docker run -d --name ollama_tmp ollama/ollama:latest
# Unduh model melalui CLI Ollama
sudo docker exec -it ollama_tmp ollama pull llama3
- Ekspor model dari container ke host.
# Buat direktori untuk menyimpan model
mkdir -p ~/ollama_models
# Salin model dari container ke host
sudo docker cp ollama_tmp:/root/.ollama/models ~/ollama_models
# Stop & remove temporary container
sudo docker stop ollama_tmp && sudo docker rm ollama_tmp
- Transfer folder
~/ollama_modelske server offline.
Step 5 β Deploy Ollama dengan Model di Server Offline
# Buat direktori persistent untuk Ollama
sudo mkdir -p /opt/ollama/models
sudo chown $(whoami):$(whoami) /opt/ollama/models
# Salin model yang telah ditransfer ke lokasi ini
cp -r ~/ollama_models/models/* /opt/ollama/models/
# Jalankan container dengan volume mount
sudo docker run -d \
--name ollama \
-p 11434:11434 \
-v /opt/ollama/models:/root/.ollama/models \
ollama/ollama:latest
Ollama server kini mendengarkan pada port 11434. Anda dapat berinteraksi via HTTP API atau CLI.
Step 6 β Verifikasi Instalasi
curl http://localhost:11434/api/tags | jq
Output harus menampilkan daftar model, termasuk llama3.
Tips Optimasi & Keamanan
- Resource Limits: Tambahkan
--memorydan--cpuspadadocker rununtuk mencegah konsumsi berlebih.
bash sudo docker run -d \ --name ollama \ -p 11434:11434 \ -v /opt/ollama/models:/root/.ollama/models \ --memory="4g" --cpus="2" \ ollama/ollama:latest - Isolation: Jalankan container dalam jaringan bridge terpisah dan gunakan firewall (
ufw) untuk membatasi akses hanya dari IP internal. - Update Model: Simpan versi model di folder terpisah (
/opt/ollama/models/v1,v2) dan gunakan symlink untuk rollback. - Logging: Aktifkan driver log
json-filedengan rotasi.
bash sudo docker run -d \ --log-driver=json-file \ --log-opt max-size=10m \ --log-opt max-file=3 \ ... - Backup: Jadwalkan
docker exec ollama ollama exportke storage terenskripsi.
Troubleshooting Error Umum
| Gejala | Penyebab | Solusi |
|---|---|---|
Connection refused saat curl http://localhost:11434 |
Container tidak berjalan atau port tidak terbuka | sudo docker ps β pastikan container ollama aktif; periksa ufw status. |
Model tidak muncul di api/tags |
Direktori model tidak dipasang dengan benar | Verifikasi path mount (/opt/ollama/models β /root/.ollama/models). |
| OOM Killer menghentikan proses | RAM tidak cukup untuk model besar | Kurangi ukuran batch atau gunakan model yang lebih kecil (mis. phi3). |
permission denied pada volume |
Owner/permission mismatch | sudo chown -R $(whoami):$(whoami) /opt/ollama/models. |
Kesimpulan
Dengan Ollama, Anda dapat menjalankan model LLM secara offline, menghilangkan ketergantungan pada koneksi internet dan mengurangi risiko kebocoran data. Tutorial ini mencakup instalasi Docker, transfer image & model, konfigurasi container, serta praktik keamanan dan optimasi untuk produksi. Untuk kebutuhan AI lanjutan (mis. prompt engineering atau integrasi UI), pertimbangkan layanan AI berbayar seperti Jasper atau Writesonic.