~/ / 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.
| Item | Yang dikatakan panduan Dify |
|---|---|
| CPU | CPU >= 2 Core |
| Memori | RAM >= 4 GiB |
| Docker Compose | Dify requires Docker Compose 2.24.0 or later. |
| Git, curl, jq | Perintah clone di bawah memakai git, curl, dan jq. |
Coba sekarang: Local LLM Memory Estimator
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).
| Langkah | Perintah |
|---|---|
| Clone rilis terbaru | git 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 Docker | cd dify/docker |
| Salin berkas pengaturan | cp .env.example .env |
| Buat token untuk backend agen | openssl rand -base64 32 |
| Jalankan Dify | docker 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.
| Kolom | Yang diisikan |
|---|---|
| Model Name | Model Ollama, misalnya gemma3, qwen3, deepseek-r1, atau gpt-oss. |
| Base URL | Root 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 Key | Opsional untuk Ollama lokal. Wajib hanya untuk Ollama cloud. |
| Model Type | Chat untuk chat, pemanggilan tool, dan vision. Halaman Marketplace juga mencantumkan text embeddings dan rerank. |
| Model Context Length | Sesuaikan dengan jendela konteks model. |
| Upper bound for max tokens | Nilai terbesar max tokens (num_predict) yang diizinkan Dify. |
| Vision support / Function call support | Pilih Yes hanya untuk model yang mendukungnya. |
| Attach Dify app_id as request headers | Nonaktif 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 periksa | Hasil |
|---|---|
| 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
- Dify documentation: Deploy with Docker Compose
- Dify documentation: Model providers
- Dify documentation: Environment variables
- Dify official plugins: Ollama plugin README
- Dify Marketplace: Ollama plugin
- Dify repository: docker-compose.yaml
- Docker documentation: docker container run (--add-host)
- Docker documentation: Compose services (extra_hosts)
- Ollama documentation: FAQ
Baca selanjutnya
- Menjalankan LLM lokal tanpa PC mahal: panduan pemula memakai VPSTidak punya PC bertenaga? Sewa VPS dan jalankan LLM lokal kecil dari browser Anda: enam langkah dari perkiraan memori sampai layar obrolan yang terlindungi, dengan batasannya dinyatakan secara jujur.
- Pasang nginx di depan Ollama: autentikasi dasar, HTTPS, dan pengaturan streamingMengakses Ollama dari luar dengan aman: nginx sebagai proxy, autentikasi dasar, HTTPS, pengaturan streaming dan timeout, serta aturan firewall, berdasarkan dokumentasi resmi.
- Open WebUI di VPS: jalankan dengan Docker dan hubungkan ke OllamaJalankan Open WebUI dengan Docker dan hubungkan ke Ollama di server Anda sendiri: perintahnya, akun pertama, dua jenis koneksi, dan cara memperbarui.
- Memanggil model lokal dari kode Anda: structured outputs dan API yang kompatibel dengan OpenAI di OllamaBatasi keluaran model lokal dengan JSON Schema dan panggil Ollama dari klien bergaya OpenAI: apa kata dokumentasi resmi, dan apa saja yang tidak didukung.