toolkitbox

~/ / Artikel AI / LLM lokal di VPS / Menghubungkan Dify ke Ollama di VPS Anda sendiri

Menghubungkan Dify ke Ollama di VPS Anda sendiri

Dify adalah platform untuk membangun aplikasi AI yang bisa Anda jalankan di server sendiri. Ollama yang menjalankan modelnya. Artikel ini menghubungkan keduanya di satu VPS: seberapa besar server yang dibutuhkan, cara memulai Dify, kolom apa saja yang diminta plugin Ollama, dan mengapa alamat yang berfungsi di laptop bisa gagal di dalam Docker. Artikel ini juga menyebutkan di mana dokumentasi berhenti, sehingga Anda tahu bagian mana yang perlu diuji sendiri.

Terbit: · 5 menit baca · Fakta diperiksa terhadap dokumentasi dan repositori resmi pada 2026-10-27. Dify cepat berubah, jadi baca catatan rilis dari versi yang Anda pasang.

Yang perlu disiapkan sebelum mulai

Panduan self-hosting Dify mencantumkan kebutuhan minimum untuk Dify itu sendiri. Model membutuhkan memorinya sendiri di atas itu, jadi kedua angka harus dijumlahkan. Estimator di bawah memberi angka untuk modelnya. Menambahkannya ke minimum Dify adalah aturan praktis dari kami, bukan pernyataan dari dokumentasi Dify.

ItemYang dikatakan panduan Dify
CPUCPU >= 2 Core
MemoriRAM >= 4 GiB
Docker ComposeDify requires Docker Compose 2.24.0 or later.
Git, curl, jqPerintah clone di bawah memakai git, curl, dan jq.

Coba sekarang: Local LLM Memory Estimator

Model

Tag Ollama qwen3:8b, kuantisasi Q4_K_M, ukuran unduhan 5.2 GB.

Perkiraan

Bobot model
4.84 GiB
KV cache
0.56 GiB
Cadangan
1.00 GiB
Total
6.41 GiB (6.88 GB)
Ukuran memori umum terkecil yang cukup
8 GiB

Ini hanya perkiraan. Buffer komputasi milik runtime tidak ikut dihitung, dan dianggap setiap layer memiliki bentuk KV yang sama. Ukur proses yang sungguh dijalankan sebelum Anda memilih paket.

Data model diperiksa pada 2026-10-26.

Sumber: Ollama library · Konfigurasi model (config.json) · Ollama FAQ

Semuanya berjalan di browser Anda. Tidak ada yang diunggah.

Langkah 1: jalankan Dify dengan Docker Compose

Ini adalah perintah dari panduan self-hosting Dify. Perintah pertama mengunduh tag rilis terbaru dari GitHub, sehingga Anda mulai dari sebuah rilis dan bukan dari branch yang belum selesai. Saat kami memeriksa, rilis terbaru adalah 1.18.0 (terbit 2026-10-23).

LangkahPerintah
Clone rilis terbarugit clone --branch "$(curl -s https://api.github.com/repos/langgenius/dify/releases/latest | jq -r .tag_name)" https://github.com/langgenius/dify.git
Masuk ke folder Dockercd dify/docker
Salin berkas pengaturancp .env.example .env
Buat token untuk backend agenopenssl rand -base64 32
Jalankan Difydocker compose up -d

Masukkan token yang dicetak openssl ke dalam .env sebagai DIFY_AGENT_LOCAL_SANDBOX_AUTH_TOKEN sebelum Anda memulai. Panduan menyatakan bahwa backend agen beserta sandbox-nya tidak akan berjalan tanpa token itu.

Langkah 2: buat akun administrator

Setelah container berjalan, panduan meminta Anda membuka halaman inisialisasi administrator lebih dulu: http://your_server_ip/install di server, atau http://localhost/install di komputer Anda sendiri. Buat akun di sana, lalu login di http://your_server_ip.

Dokumentasi tidak menyebutkan siapa yang bisa mengakses halaman itu sebelum akun dibuat. Rekomendasi kami, bukan pernyataan dari dokumen: buat akun segera setelah Dify dijalankan, dan baca artikel tentang cara melindungi server sebelum Anda membiarkan Dify terbuka ke internet.

Langkah 3: tambahkan plugin Ollama dan modelnya

Dalam dokumentasi Dify saat ini, penyedia model dipasang dari Integrations > Model Provider atau dari Marketplace, lalu Anda mengklik Setup pada kartu penyedia tersebut. Nama menu berubah antarversi, jadi carilah daftar penyedia di versi Anda. Halaman Marketplace untuk plugin Ollama (versi 1.0.3 saat kami memeriksa) meminta Anda memasang Ollama, menjalankan sebuah model, dan memastikan API lokalnya berfungsi sebelum menambahkannya ke Dify.

Berikut kolom-kolom plugin, diambil dari README dan halaman Marketplace-nya.

KolomYang diisikan
Model NameModel Ollama, misalnya gemma3, qwen3, deepseek-r1, atau gpt-oss.
Base URLRoot host Ollama, http://<your-ollama-host>:11434 untuk Ollama lokal. Jangan sertakan /api, karena plugin menambahkan /api/chat, /api/generate, dan /api/embed sendiri.
API KeyOpsional untuk Ollama lokal. Wajib hanya untuk Ollama cloud.
Model TypeChat untuk chat, pemanggilan tool, dan vision. Halaman Marketplace juga mencantumkan text embeddings dan rerank.
Model Context LengthSesuaikan dengan jendela konteks model.
Upper bound for max tokensNilai terbesar max tokens (num_predict) yang diizinkan Dify.
Vision support / Function call supportPilih Yes hanya untuk model yang mendukungnya.
Attach Dify app_id as request headersNonaktif secara default. Jika diaktifkan, Dify menambahkan header X-Dify-App-Id dan X-Dify-Source pada panggilannya ke Ollama. Ollama tidak memakainya.

Untuk mengetahui model mana yang mendukung vision dan pemanggilan tool, lihat artikel tentang kemampuan model di pustaka Ollama.

Langkah 4: alamat yang berfungsi dari dalam Docker

Dify berjalan di dalam container, sedangkan Ollama berjalan di server itu sendiri. Di dalam container, localhost adalah container itu, bukan server. README plugin menyatakan: gunakan alamat host yang bisa dijangkau container Dify, seperti http://host.docker.internal:11434 atau alamat IP LAN.

Dokumentasi Docker menjelaskan nama tersebut. Opsi --add-host mendukung nilai khusus, host-gateway, yang diselesaikan menjadi alamat IP internal host, dan lazim memakai host.docker.internal untuk nama itu. Dokumentasi juga menyatakan bahwa Docker Desktop menyelesaikan nama tersebut secara otomatis. Contoh dalam dokumentasi adalah --add-host host.docker.internal=host-gateway.

Yang kami periksaHasil
Apakah docker-compose.yaml Dify mendefinisikan host.docker.internal?Tidak. Kami tidak menemukan host.docker.internal maupun entri extra_hosts di berkas pada main branch.
Apakah referensi Docker Compose menjelaskan extra_hosts?Ya, sebagai pemetaan nama host dalam bentuk HOSTNAME=IP yang masuk ke /etc/hosts. Halaman yang kami baca tidak menyebut host-gateway untuk extra_hosts.
Apakah Ollama mendengarkan pada alamat selain 127.0.0.1?Tidak secara default. FAQ Ollama menyatakan bahwa Ollama terikat ke 127.0.0.1 port 11434, dan bahwa variabel lingkungan OLLAMA_HOST mengubah alamat ikatannya.

Pembacaan kami, bukan pernyataan dari dokumen: di server Linux Anda menambahkan nama host sendiri, atau memakai alamat server, dan Anda mungkin juga perlu mengubah alamat tempat Ollama mendengarkan. Kami tidak menguji kombinasi ini. Jika Anda mengubah OLLAMA_HOST, port 11434 bisa dijangkau dari mesin lain, dan Ollama tidak punya kata sandi sendiri, jadi tutup port itu dari luar di firewall. Artikel tentang memasang Ollama dan tentang menempatkan nginx di depannya menjelaskan pengaturannya.

Langkah 5: embedding, dan hal yang tidak dilakukan plugin

Halaman Marketplace plugin menyatakan bahwa plugin ini mendukung streaming, thinking, vision, pemanggilan tool, dan text embeddings, dan bahwa vektor embedding-nya L2-normalized. Untuk embedding, Anda menambahkan model kedua dengan tipe text embeddings, memakai model embedding dari pustaka Ollama.

Halaman itu juga mencantumkan apa yang tidak termasuk. Ollama tidak punya endpoint rerank bawaan, sehingga model rerank membutuhkan layanan rerank yang kompatibel dengan OpenAI. Pencarian web juga tidak disertakan. Untuk itu diperlukan plugin tool Dify tersendiri atau alur kerja eksternal.

Jika koneksi gagal

  • Jalankan ollama ps dan pastikan modelnya termuat, lalu buka http://127.0.0.1:11434 di server untuk melihat bahwa Ollama menjawab.
  • Periksa Base URL. Isinya root host, lengkap dengan port dan tanpa /api.
  • Periksa apakah container Dify bisa menjangkau alamat itu. Dokumentasi Dify menyatakan bahwa permintaan keluarnya dialirkan melalui proxy yang memblokir rentang IP internal dan privat. Halaman itu menyebut node HTTP dan unduhan gambar, dan tidak menyebutkan apakah permintaan penyedia model melewati jalur yang sama. Jika Anda memakai alamat privat dan ditolak, ini salah satu tempat untuk mencari penyebabnya.
  • Baca log container dengan docker compose logs. Kami tidak menemukan daftar pesan error dalam dokumentasi.

Menjaga Dify tetap terbaru

Panduan menyatakan bahwa langkah upgrade berbeda-beda antarrilis, jadi ikuti panduan upgrade untuk versi yang Anda tuju, yang ada di halaman Releases Dify. Setelah upgrade, bandingkan .env.example dengan .env Anda untuk melihat variabel baru atau yang berubah. Jika Anda mengubah docker-compose.yaml, terapkan lagi perubahan Anda pada berkas rilis yang baru, karena sebuah rilis bisa menambahkan layanan yang wajib ada.

Sumber

Baca selanjutnya