Panduan lengkap untuk menginstal Pi-hole dengan Docker

Pembaharuan Terakhir: 30 Agustus 2026

Bosan dibombardir iklan setiap kali Anda menjelajahi internet atau menggunakan aplikasi seluler? Nah, ada solusi fantastis bernama Pi-hole, yang pada dasarnya bertindak sebagai filter DNS pintar . Bagian terbaiknya adalah Anda tidak perlu menginstal apa pun di setiap perangkat di rumah Anda; sistem ini bekerja dari inti jaringan Anda, mencegat dan memblokir konten yang tidak diinginkan bahkan sebelum mencapai layar Anda.

Untuk menyiapkan sistem ini, pilihan paling cerdas saat ini adalah menggunakan Docker. Dengan menempatkan Pi-hole dalam sebuah kontainer, Anda menghindari penumpukan file di sistem operasi komputer Anda, membuat pembaruan menjadi sangat mudah, dan mendapatkan hasil maksimal dari perangkat keras Anda —baik itu Raspberry Pi, server lama, atau bahkan mesin virtual yang menjalankan Ubuntu atau Debian—tanpa konflik layanan apa pun.

Blokir iklan dengan Pi-hole
Artikel terkait:
Panduan Lengkap Memblokir Iklan dengan Pi-hole

Persyaratan dan persiapan lokasi

Sebelum membahas lebih lanjut, perlu dicatat bahwa Pi-hole sangat ringan. Untuk menjalankannya dengan lancar, Anda hanya membutuhkan sekitar 512 MB RAM dan antara 2 hingga 4 GB ruang disk. Sedangkan untuk sistem operasinya, ia bekerja sempurna dengan distribusi yang menggunakan systemd atau sysvinit, seperti Debian, Ubuntu, Fedora, atau Raspberry Pi OS.

Salah satu poin pentingnya adalah jaringan. Agar sistem stabil, Pi-hole membutuhkan alamat IP statis . Jika Anda tidak ingin repot mengkonfigurasi server secara manual, Anda dapat memesan alamat IP pada router Anda sehingga router selalu memberikan alamat yang sama ke komputer yang menjalankan kontainer.

  Apa itu Webminal: Terminal Linux online untuk belajar

Menerapkan Pi-hole menggunakan Docker

Cara termudah untuk mengaturnya adalah melalui file docker-compose.yml . Metode ini memungkinkan Anda untuk menentukan semua konfigurasi sekaligus. Sangat penting untuk memetakan volume (seperti /etc/pihole dan /etc-dnsmasq.d) ke folder lokal di host Anda sehingga jika Anda memperbarui image container, Anda tidak kehilangan semua konfigurasi atau daftar hitam Anda.

Komputer mikro Raspberry Pi dalam wadah transparan, yang mewakili perangkat keras untuk server Pi-hole.
Artikel terkait:
Panduan Lengkap tentang Pi-hole dan Unbound untuk Privasi Online

Dalam file konfigurasi, perhatikan port-portnya. Port 53 adalah jantung dari DNS dan harus bebas. Jika Anda melihat bahwa kontainer tidak berjalan, kemungkinan besar systemd-resolved atau dnsmasq menggunakan port tersebut pada host. Dalam kasus tersebut, Anda perlu menonaktifkan layanan yang bertentangan atau mengkonfigurasi bridge untuk mengalihkan lalu lintas.

Jika Anda memutuskan untuk menggunakan Pi-hole sebagai server DHCP juga, ingatlah untuk menambahkan kemampuan NET_ADMIN di bagian cap_add pada compose dan, sebaiknya, gunakan mode jaringan host (network_mode: host) untuk menghindari masalah konektivitas.

Pengaturan awal dan manajemen akses

Setelah Anda menjalankan perintah tersebut docker-compose up -dSistem akan aktif. Untuk mengakses panel kontrol, sambungkan ke alamat IP server Anda melalui port yang telah Anda tetapkan (80 secara default, meskipun Anda dapat mengubahnya menjadi 8080 atau 89 untuk menghindari konflik dengan server web lain). Jika Anda tidak menentukan kata sandi di variabel lingkungan... KATA SANDI WEBSistem akan menghasilkan nilai acak yang dapat Anda temukan dengan memeriksa log menggunakan perintah tersebut. docker logs pihole | grep random.

Untuk keamanan tambahan, sebaiknya segera ubah kata sandi tersebut. Anda dapat mengakses terminal kontainer menggunakan docker exec -it pihole /bin/bash dan jalankan perintah pihole -a -p Untuk membuat kata sandi yang mudah Anda ingat tetapi sulit diingat oleh orang lain.

  5 Alat untuk Belajar Pemrograman dengan Python

Penyaringan Hulu dan Optimasi DNS

Untuk memastikan Pi-hole mengetahui server DNS mana yang harus dihubungi ketika tidak mengenali suatu alamat, Anda perlu mengkonfigurasi server DNS hulu. Salah satu pilihan yang sangat andal adalah Quad9 ; cukup pilih server yang difilter (seperti 9.9.9.9) di tab pengaturan DNS. Ini menambahkan lapisan keamanan dan privasi ekstra pada penjelajahan Anda.

Inti dari Pi-hole adalah daftar blokirnya. Jika Anda ingin memulai dengan sesuatu yang solid, Anda dapat menambahkan daftar StevenBlack . Setiap kali Anda memodifikasi daftar, baik dengan menghapus entri menggunakan SQLite3 atau menambahkan URL baru, penting untuk pergi ke Tools dan menjalankan Update Gravity agar basis data diperbarui dan perubahan berlaku.

Tips lanjutan: Domain lokal dan manajemen

Jika Anda memiliki beberapa layanan di rumah, Anda dapat membuat nama domain lokal untuk menghindari keharusan menghafal IP. Untuk melakukan ini, buat file bernama local.list Pada volume Pi-hole yang terpasang, tentukan IP dan format domain. Kemudian, buat file konfigurasi untuk dnsmasq yang merujuk pada daftar tersebut dan mulai ulang kontainer.

Untuk mengelola sistem tanpa mengakses situs web, ada perintah yang sangat berguna yang dapat Anda jalankan dari host. Misalnya, untuk menambahkan domain ke daftar hitam, gunakan `pihole -b mydomain.com` , atau untuk menonaktifkan pemfilteran sementara selama 10 menit, Anda dapat menggunakan `pihole disable 10m` , yang sangat berguna ketika situs web yang sah diblokir secara keliru.

Mengendalikan iklan di rumah sepenuhnya dimungkinkan dengan menggabungkan perangkat keras sederhana dengan fleksibilitas Docker, memastikan port 53 tidak terpakai, dan mengkonfigurasi volume dengan benar untuk menyimpan data. Setelah Anda menyesuaikan DNS pada router dan mengoptimalkan daftar Gravity, Anda akan menikmati jaringan yang lebih bersih dan jauh lebih cepat di semua perangkat Anda.

Tampilan dekat papan Raspberry Pi dengan komponen elektronik, mikrochip, dan port yang terlihat di permukaan, ideal untuk menggambarkan perangkat keras utama tutorial ini.
Artikel terkait:
Panduan Lengkap untuk Menginstal dan Mengoptimalkan AdGuard Home di Raspberry Pi