Panduan Setup SearXNG Self-Hosted di VPS Murah

Verdict Cepat: SearXNG versi self-hosted di VPS 1 vCPU 1GB RAM memberikan privasi mesin pencari penuh tanpa profiling data, tanpa pelacak iklan, dan bebas biaya langganan API berbayar. Waktu deploy memakan waktu di bawah 15 menit menggunakan Docker Compose dan Caddy reverse proxy.

Kebutuhan mesin pencari privat kini menjadi prioritas bagi pengembang web, peneliti data, dan praktisi teknologi. Mesin pencari komersial arus utama sering kali mengumpulkan riwayat kueri, membangun profil periklanan tertarget, serta memanipulasi urutan hasil pencarian demi kepentingan monetisasi. SearXNG hadir sebagai metasearch engine open-source yang mengagregasi hasil dari puluhan mesin pencari tanpa merekam aktivitas pengguna.

Saya menguji performa SearXNG di server VPS mikro untuk kebutuhan riset harian. Membangun instance SearXNG mandiri di server VPS murah memberikan kendali penuh atas privasi data riset harian. Biaya operasional hanya mencakup sewa server cloud standar tanpa biaya lisensi perangkat lunak tambahan.

Server VPS infrastruktur jaringan dan privasi pencarian SearXNG
Infrastruktur server mandiri menjamin kontrol penuh atas data pencarian. (Sumber: Unsplash)

1. Mengapa Memilih SearXNG untuk Infrastruktur Riset Mandiri

SearXNG merupakan fork aktif dari proyek Searx terdahulu yang membawa peningkatan performa signifikan, manajemen scraper lebih stabil, dan pembaruan rutin terhadap antarmuka mesin pencari target. Instance SearXNG bertindak sebagai perantara anonim antara perangkat lokal dan penyedia hasil pencarian eksternal.

Saat kueri dikirimkan ke SearXNG, server lokal membagi kueri tersebut ke berbagai sumber seperti Google, Bing, DuckDuckGo, Qwant, Wikipedia, hingga GitHub. Penyedia eksternal hanya melihat alamat IP server VPS Anda, bukan alamat IP rumah atau identitas peramban perangkat pribadi Anda.

Keuntungan utama mencakup penghapusan cookie pelacak, penghapusan geolokasi paksa, serta kemampuan memfilter kategori hasil pencarian secara granular. Format output juga mendukung JSON murni yang sangat berguna untuk integrasi agent otomatisasi berbasis Python atau skrip shell harian.

Sebagai metasearch engine, SearXNG tidak membuat indeks web sendiri dari awal. Sebaliknya, mesin ini mengirimkan kueri pencarian secara paralel ke puluhan mesin pencari lain, mengumpulkan seluruh respon yang masuk, menghapus duplikasi hasil, lalu menyajikan daftar tautan yang bersih kepada pengguna. Pendekatan ini menggabungkan kedalaman indeks Google, kecepatan pencarian teknis GitHub, serta direktori ensiklopedia Wikipedia dalam satu antarmuka pencarian terpadu.

2. Persyaratan Server dan Spesifikasi Minimum VPS

SearXNG dirancang dengan efisiensi tinggi berbasis Python dan C bindings. Untuk penggunaan pribadi hingga tim kecil berjumlah 5 orang, spesifikasi hardware yang dibutuhkan sangat hemat sumber daya:

  • CPU: 1 vCPU (arsitektur x86_64 atau ARM64 seperti Ampere Altra).
  • RAM: 1 GB (disarankan menambah swap file 1 GB hingga 2 GB).
  • Penyimpanan: 15 GB SSD atau NVMe untuk OS Linux dan layer image Docker.
  • Sistem Operasi: Ubuntu 24.04 LTS atau Debian 12 Bookworm.
  • Jaringan: Alamat IPv4 Publik statis dan satu subdomain aktif (misalnya search.domainanda.com).

Pemilihan lokasi server VPS juga mempengaruhi kecepatan respon pencarian. Memilih lokasi data center yang dekat dengan basis pengguna atau dekat dengan node server penyedia mesin pencari utama (seperti Singapura atau Frankfurt) membantu memangkas latensi jaringan bolak-balik saat server melakukan scraping data secara simultan.

3. Langkah 1: Persiapan Server VPS dan Instalasi Docker

Langkah awal dimulai dengan memperbarui paket sistem operasi dan memasang runtime Docker Engine resmi. Hubungkan terminal lokal ke server VPS melalui SSH:

sudo apt update && sudo apt upgrade -y
sudo apt install -y curl git ufw fail2ban

# Instalasi Docker via official convenience script
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh

# Pasang Docker Compose plugin
sudo apt install -y docker-compose-plugin

Setelah Docker aktif, konfigurasi firewall sistem untuk mengamankan port yang tidak terpakai:

sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow 22/tcp
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw enable

Pemasangan fail2ban menambahkan lapisan keamanan protektif terhadap serangan brute-force pada port SSH. Sistem akan secara otomatis memblokir alamat IP yang gagal melakukan otentikasi login berulang kali.

4. Langkah 2: Setup Direktori dan Konfigurasi SearXNG

Gunakan repositori template resmi searxng-docker yang menyediakan arsitektur terintegrasi antara SearXNG, Redis cache, dan Valkey. Buka direktori root sistem dan clone repository:

cd /usr/local
sudo git clone https://github.com/searxng/searxng-docker.git
cd searxng-docker

Langkah krusial berikutnya adalah membuat secret key unik agar sesi pencarian terenkripsi secara aman. Jalankan generator kunci rahasia:

# Generate secret key otomatis ke berkas settings.yml
sed -i "s/ultrasecretkey/51851e759c626e3635bea315ddddf457eccea9f897c06acbdb077890c632be4d/g" searxng/settings.yml

Buka berkas konfigurasi searxng/settings.yml menggunakan teks editor untuk menyesuaikan parameter dasar:

use_default_settings: true
general:
  debug: false
  instance_name: "Privat Search"
  donation_url: false
  contact_url: false
search:
  safe_search: 0
  autocomplete: "duckduckgo"
  default_lang: "id-ID"
server:
  port: 8080
  bind_address: "127.0.0.1"
  secret_key: "kunci-acak-hasil-generate"
  limiter: false
  image_proxy: true

Fitur image_proxy: true sangat penting diaktifkan agar saat mencari gambar, peramban Anda tidak langsung menghubungi server asal gambar, melainkan melalui proxy server SearXNG.

Di dalam berkas settings.yml, pengembang dapat mengaktifkan atau menonaktifkan engine pencarian tertentu secara spesifik. Misalnya, jika ingin memfokuskan instance untuk riset teknologi dan coding, engine seperti GitHub, StackOverflow, ArXiv, dan Reddit dapat diberi bobot prioritas lebih tinggi dibanding engine berita umum.

5. Langkah 3: Konfigurasi Reverse Proxy Caddy dan SSL Otomatis

Alih-alih menggunakan Nginx manual yang memerlukan setup Certbot berkala, Caddy Server menjadi pilihan paling efisien karena mengotomatiskan penerbitan dan pembaruan sertifikat SSL Let’s Encrypt secara mandiri.

Sunting berkas Caddyfile di dalam direktori /usr/local/searxng-docker untuk mengarahkan port internal SearXNG ke reverse proxy Caddy:

search.domainanda.com {
    encode gzip zstd
    reverse_proxy localhost:8080 {
        header_up X-Forwarded-Port {server_port}
        header_up X-Forwarded-Proto {scheme}
    }
}

Jalankan seluruh kontainer layanan di latar belakang:

sudo docker compose up -d

Periksa status kontainer untuk memastikan seluruh service berjalan normal:

sudo docker compose ps

Caddy akan secara otomatis mendeteksi konfigurasi domain, menghubungi otoritas sertifikat Let’s Encrypt atau ZeroSSL melalui protokol ACME, menyelesaikan tantangan HTTP-01, dan memasang sertifikat TLS tanpa intervensi manual tambahan.

6. Langkah 4: Optimasi Caching Redis dan Konfigurasi Rate Limiting

Ketika instance SearXNG melayani pencarian rutin, melakukan kueri ulang ke mesin pencari target untuk kata kunci yang identik merupakan pemborosan bandwidth server dan memperbesar risiko pemblokiran IP. Redis berperan penting sebagai lapisan in-memory caching berkecepatan tinggi.

Konfigurasi Redis default pada searxng-docker menyimpan hasil pencarian populer selama rentang waktu beberapa jam. Hal ini membuat respon pencarian untuk istilah umum tampil instan dalam hitungan milidetik. Selain itu, jika instance dibuka untuk kebutuhan tim internal, pengaturan limiter pada searxng/settings.yml dapat dikonfigurasi untuk mencegah bot otomatis luar mengeksploitasi server pencarian mandiri tersebut.

7. Tabel Perbandingan: SearXNG Self-Hosted vs Layanan Komersial

Berikut evaluasi komparatif antara menjalankan instance SearXNG mandiri dibandingkan dengan mesin pencari publik:

Fitur dan Aspek SearXNG Self-Hosted Google atau Bing DuckDuckGo
Privasi IP Pengguna Terlindungi penuh (IP VPS) Dicatat dan Dilacak Tidak Dicatat
Iklan dan Tracking Cookie Nol Iklan, Zero Tracker Targeted Ads Agresif Affiliate Search Ads
Sumber Data Pencarian Agregasi 70+ Mesin Pencari Index Tunggal Bing dan Index Sendiri
Akses API Bebas Kuota Format JSON Mandiri Berbayar per Kueri Terbatas Tanpa API Resmi
Biaya Operasional Biaya VPS Hemat Gratis (Tukar Data Pribadi) Gratis

8. Menjadikan SearXNG Sebagai Mesin Pencari Utama di Browser

Setelah instance aktif dan dapat diakses di browser melalui URL HTTPS, tambahkan SearXNG ke peramban harian (Chrome, Brave, Firefox, atau Edge) menggunakan protokol OpenSearch standard:

  1. Buka domain SearXNG Anda di browser.
  2. Ketik kueri pencarian acak untuk menginisiasi protokol OpenSearch di address bar.
  3. Buka menu Settings > Search Engine > Manage search engines and site search di browser.
  4. Cari entri domain SearXNG pada daftar, lalu klik tombol opsi dan pilih Make Default.
  5. Untuk URL kueri manual, gunakan format parameter: https://search.domainanda.com/search?q=%s.

Pada browser Firefox versi mobile di perangkat Android atau iOS, integrasi mesin pencari kustom dapat ditambahkan langsung melalui menu pengaturan pencarian dengan memasukkan string template kueri yang sama.

9. Integrasi API SearXNG ke Workflow Automasi dan AI Agent

Keunggulan teknis terbesar dari instance SearXNG mandiri adalah ketersediaan endpoint API berbasis JSON tanpa batasan kuota berbayar. Praktisi AI dan pengembang bot automasi dapat memanfaatkan instance ini untuk kebutuhan retrieval-augmented generation (RAG) atau pencarian fakta dinamis.

Cukup tambahkan parameter format pada URL permintaan HTTP:

curl -s "https://search.domainanda.com/search?q=open+source+llm&format=json"

Server akan mengembalikan payload JSON terstruktur berisi judul, ringkasan konten, URL sumber, mesin pencari asal, hingga skor relevansi. Data ini dapat langsung diparsing oleh skrip Python atau library agent tanpa memerlukan scraping HTML yang rentan rusak akibat perubahan tata letak antarmuka.

10. Solusi Masalah Umum dan Anti-Blocking Mesin Pencari

Saat menjalankan instance metasearch, beberapa mesin pencari komersial terkadang membatasi IP datacenter VPS dengan menampilkan respons status HTTP 429 Too Many Requests. Saya menerapkan beberapa strategi berikut untuk menjaga stabilitas hasil pencarian:

  • Rotasi Engine: Nonaktifkan engine Google scraper langsung di settings.yml jika IP server terkena rate limit, dan aktifkan alternatif seperti Qwant, Brave Search, Startpage, Mojeek, dan DuckDuckGo.
  • Aktifkan Redis Cache: Pastikan kontainer Redis aktif di Docker Compose agar kueri yang sama tidak memicu request berulang ke mesin pencari target dalam rentang waktu singkat.
  • Gunakan Outbound Proxy: Jika memerlukan scraping engine bervolume tinggi, sambungkan gateway outbound Docker ke interface VPN terpercaya.
  • Sesuaikan Bobot Engine: Naikkan nilai weight pada engine yang memiliki latensi terendah agar hasil pencarian paling relevan muncul di urutan teratas secara konsisten.
Keamanan enkripsi data privasi server digital
Enkripsi menyeluruh menjaga privasi kueri dari pelacakan pihak ketiga. (Sumber: Unsplash)

11. Pemeliharaan Rutin dan Backup Konfigurasi

Menjaga instance SearXNG tetap prima membutuhkan sedikit pemeliharaan berkala. Karena struktur scraper mesin pencari eksternal terus diperbarui oleh komunitas pengembang, memperbarui image Docker SearXNG secara rutin sangat disarankan:

cd /usr/local/searxng-docker
sudo docker compose pull
sudo docker compose up -d --remove-orphans

Lakukan pencadangan berkas settings.yml dan Caddyfile ke repositori Git privat atau penyimpanan cloud terenkripsi agar proses pemulihan instance pada server baru dapat diselesaikan dalam hitungan menit jika terjadi kendala pada penyedia hosting.

12. Referensi dan Panduan Terkait

Untuk melengkapi arsitektur infrastruktur server mandiri dan automasi digital, pelajari juga artikel terkait di Grafisify:

13. Kesimpulan

Menjalankan SearXNG mandiri di VPS hemat daya memberikan proteksi privasi maksimal tanpa mengorbankan kelengkapan hasil pencarian dari berbagai indeks global. Selain bebas iklan dan pelacak komersial, instance ini siap diintegrasikan ke alur kerja coding dan riset harian melalui format output JSON yang fleksibel.

Saya menyarankan setiap praktisi teknologi untuk mulai membangun infrastruktur pencarian mandiri. Kendali penuh atas data penelusuran adalah fondasi utama dalam menjaga keamanan privasi digital jangka panjang.

Leave a Reply

You might