---
title: "Self-host SearXNG: mesin pencari meta privat dan pencarian web gratis untuk Open WebUI serta LobeHub"
description: "Deploy SearXNG di server Anda sendiri dengan template Zenavo, aktifkan API JSON-nya, lalu hubungkan ke Open WebUI dan LobeHub lewat jaringan privat proyek agar model AI Anda bisa mencari informasi web terkini tanpa biaya per pencarian."
date: 2026-11-13
language: id-ID
url: https://zenavo.app/id-ID/blog/self-host-searxng
---

# Self-host SearXNG: mesin pencari meta privat dan pencarian web gratis untuk Open WebUI serta LobeHub

Setelah [Open WebUI](https://zenavo.app/id-ID/blog/self-host-open-webui) atau [LobeHub](https://zenavo.app/id-ID/blog/self-host-lobehub) berjalan, pertanyaan berikutnya hampir selalu sama: **bagaimana cara agar model AI bisa mencari berita hari ini, dokumentasi terbaru, atau halaman web secara langsung?** API pencarian komersial (Tavily, Serper, Brave Search) umumnya mengenakan biaya per pencarian, sedangkan instance SearXNG publik sering menolak permintaan otomatis karena batas laju (rate limit).

[SearXNG](https://docs.searxng.org) adalah mesin pencari meta open source: alih-alih membangun indeks sendiri, ia mengirim kueri secara paralel ke puluhan mesin pencari (Google, Bing, DuckDuckGo, Wikipedia, GitHub, dan lainnya), menghapus duplikat hasil, dan tidak menyimpan profil pelacakan Anda. Lebih praktisnya lagi, jika Anda menempatkan SearXNG di proyek Zenavo yang sama dengan Open WebUI atau LobeHub, aplikasi chat Anda bisa memanggilnya lewat jaringan privat tanpa biaya per kueri.

## 1. Dua cara deploy: backend privat untuk AI atau mesin pencari pribadi

Pertama, [hubungkan server Linux](https://docs.zenavo.app/id-ID/servers/add-a-server) ke Zenavo, lalu pilih skema yang sesuai dengan kebutuhan Anda:

- **Opsi A: Backend pencarian web internal untuk Open WebUI atau LobeHub (disarankan)**
  Buka proyek Open WebUI atau LobeHub Anda di Zenavo, klik **Add Service → Templates**, lalu pilih **SearXNG**. Dengan cara ini, SearXNG berjalan di jaringan privat proyek yang sama (`http://searxng.zenavo.internal:8080`) dan **bahkan tidak memerlukan domain publik**, sehingga pihak luar tidak bisa mengakses endpoint pencarian Anda.
- **Opsi B: Mesin pencari privat mandiri untuk dipakai di browser**
  Buat proyek baru dari [template SearXNG](https://zenavo.app/deploy?template=searxng), lalu pasang domain kustom (misalnya `search.example.com`) ke port `8080` pada tab **Networking** layanan `searxng`. Lihat [Domain & HTTPS](https://docs.zenavo.app/id-ID/networking/domains).

Template ini sangat ringan (biasanya memakai memori di bawah 200 MB):

| Pengaturan | Nilai atau fungsi |
|---|---|
| Image | `searxng/searxng:latest` |
| Port HTTP | `8080` |
| Volume konfigurasi | `/etc/searxng` (membuat `settings.yml` dan `limiter.toml` otomatis saat pertama kali dijalankan) |
| Volume cache | `/var/cache/searxng` |
| `SEARXNG_SECRET` | Kunci rahasia acak yang dibuat otomatis saat proyek dibuat |

## 2. Aktifkan format output JSON (wajib untuk alat AI)

Secara bawaan, SearXNG hanya melayani halaman HTML untuk browser dan mengembalikan `403 Forbidden` saat klien meminta `?format=json`. Padahal, Open WebUI dan LobeHub mengambil hasil pencarian melalui API JSON.

Setelah layanan selesai berjalan pertama kali dan membuat `/etc/searxng/settings.yml`, buka file `/etc/searxng/settings.yml` (melalui terminal kontainer atau fitur file konfigurasi), lalu tambahkan `json` di bawah `search.formats`:

```yaml
search:
  formats:
    - html
    - json
```

Jika SearXNG hanya dipanggil lewat jaringan privat Zenavo, pastikan juga `limiter: false` di bawah `server:` tetap nonaktif agar permintaan internal tidak terblokir. Simpan perubahan lalu klik **Restart** pada layanan `searxng`.

## 3. Hubungkan ke Open WebUI

Jika Anda men-deploy [Open WebUI](https://zenavo.app/id-ID/blog/self-host-open-webui):

1. Login ke Open WebUI sebagai admin, lalu buka **Admin Panel → Settings → Web Search**.
2. Aktifkan tombol **Enable Web Search**.
3. Pada **Web Search Engine**, pilih `searxng`.
4. Isi **Searxng Query URL** dengan:
   - Proyek Zenavo yang sama (jaringan privat): `http://searxng.zenavo.internal:8080/search?q=<query>`
   - Proyek terpisah (domain publik): `https://search.example.com/search?q=<query>`
5. Klik Simpan. Kembali ke jendela chat, aktifkan **Web Search** di bawah kotak input, lalu tanyakan topik terkini untuk melihat model menelusuri web sebelum menjawab.

## 4. Hubungkan ke LobeHub

Jika Anda menjalankan [LobeHub](https://zenavo.app/id-ID/blog/self-host-lobehub), tambahkan variabel lingkungan berikut pada tab **Variable** di layanan `lobehub`, simpan, lalu restart `lobehub`:

```sh
SEARCH_PROVIDERS=searxng
SEARXNG_URL=http://searxng.zenavo.internal:8080
```

(Jika SearXNG berada di proyek lain, ganti `SEARXNG_URL` dengan domain `https://search.example.com` Anda.) Setelah di-restart, fitur pencarian web pintar di LobeHub akan langsung mengambil informasi halaman web lewat SearXNG milik Anda sendiri.

## 5. Backup dan upgrade

SearXNG tidak menyimpan akun pengguna maupun riwayat percakapan — hanya file `/etc/searxng/settings.yml` yang sudah Anda ubah yang perlu disimpan:

1. Setelah mengedit `settings.yml`, simpan salinan isinya atau buat backup volume `/etc/searxng` lewat tab **Backup & Restore** saat jendela pemeliharaan.
2. Template ini menggunakan `searxng/searxng:latest` karena mesin pencari upstream sering mengubah struktur halaman mereka dan SearXNG rutin merilis pembaruan parser. Jika ingin mengunci versi tertentu, ubah tag di **Settings → Source**.

## Pertanyaan umum

**Open WebUI atau LobeHub menampilkan `403 Forbidden` saat melakukan pencarian.**
Hampir pasti karena `json` belum ditambahkan di bawah `search.formats` pada `/etc/searxng/settings.yml` (langkah 2), atau layanan `searxng` belum di-restart setelah file disimpan. Selain itu, bila domain publik Anda memakai proteksi bot, gunakan alamat jaringan privat `http://searxng.zenavo.internal:8080`.

**Mengapa Google terkadang timeout atau meminta CAPTCHA?**
Alamat IP pusat data cloud dapat terkena batas laju upstream jika semua permintaan dikirim ke satu mesin pencari saja. Aktifkan beberapa mesin sekaligus (Bing, DuckDuckGo, Brave, Wikipedia) di **Preferences → Engines** pada SearXNG atau di `settings.yml` untuk membagi beban kueri.

**Jika saya memasang domain publik, bagaimana cara mencegah orang asing menyalahgunakan API JSON saya?**
Jika SearXNG hanya dipakai untuk Open WebUI atau LobeHub Anda sendiri, langkah paling aman adalah tidak memasang domain publik sama sekali dan cukup memakai [jaringan privat](https://docs.zenavo.app/id-ID/networking/private) `.zenavo.internal`. Jika Anda juga memakainya lewat browser, aktifkan `server.limiter: true` di `settings.yml` atau batasi akses format JSON.

**Bisakah SearXNG dipadukan dengan gateway model self-hosted?**
Tentu saja. Kombinasi yang sangat populer adalah menjalankan **Open WebUI / LobeHub + SearXNG + [Magpie](https://zenavo.app/id-ID/blog/self-host-magpie) (atau [New API](https://zenavo.app/id-ID/blog/self-host-new-api) / [LiteLLM](https://zenavo.app/id-ID/blog/self-host-litellm))** di dalam satu proyek Zenavo sehingga antarmuka chat, pencarian web, dan routing model semuanya berkomunikasi lewat jaringan internal di satu server.

Deploy [template SearXNG](https://zenavo.app/deploy?template=searxng) — atau tambahkan langsung ke proyek AI Anda yang sudah ada — untuk memberi model AI Anda kemampuan pencarian web privat tanpa biaya per kueri dalam hitungan menit.
