Saya telah dipanggil…
Seperti yang dikatakan marcoi, compose.yaml milikmu tidak berjalan dengan baik.
Kemungkinan besar karena QNAP melakukan hal QNAP dan tidak kompatibel dengan rilis upstream generic.
Kamu sebaiknya mencari compose dari upstream lalu cari tahu apa yang perlu disesuaikan agar bisa jalan dengan docker-nya QNAP.
Jadi, sesuatu yang selalu saya pikirkan soal aplikasi/layanan seperti pihole adalah: Apa yang harus dilakukan dengan NAT.
Terutama untuk resolusi DNS. Bukankah kita ingin IP LAN? Dan tidak ada hal lain yang menghalangi?
Jadi terima kasih @NA9D sudah membuat saya install template ini karena sekarang saya belajar beberapa hal tentang QNAP.
OKE, INI DEFAULT QNAP
version: "3"
services:
pihole:
image: pihole/pihole:2022.12.1
networks:
qnet-network:
ipv4_address: ${QNET_STATIC_IP}
environment:
WEBPASSWORD: ${WEB_PASSWORD}
TZ: ${TZ}
volumes:
- etc-pihole:/etc/pihole
- etc-dnsmasq.d:/etc/dnsmasq.d
restart: unless-stopped
networks:
qnet-network:
driver_opts:
iface: ${QNET_INTERFACE}
driver: qnet
ipam:
driver: qnet
options:
iface: ${QNET_INTERFACE}
config:
- subnet: ${QNET_SUBNET}
gateway: ${QNET_GATEWAY}
volumes:
etc-pihole:
etc-dnsmasq.d:
Seperti yang kita lihat, ini spesifik meminta rilis tahun 2022.
Kamu dan marcoi sama-sama pakai :latest, saya juga tidak tahu tag yang direkomendasikan apa, tapi saya juga sering pakai :latest.
Saya asumsikan ini sudah benar
Kenapa kita pakai named mount kalau sudah repot-repot set sesuatu di /share?
Tidak heran opsi konfigurasi berubah sejak 2022
Jelas nanti bakal seru karena ini DNS yang kita bicarakan.
Jadi saya buka docs.pi-hole.net
# Info lebih lanjut di https://github.com/pi-hole/docker-pi-hole/ dan https://docs.pi-hole.net/
services:
pihole:
container_name: pihole
image: pihole/pihole:latest
ports:
# Port DNS
- "53:53/tcp"
- "53:53/udp"
# Port HTTP Default
- "80:80/tcp"
# Port HTTPs Default. FTL akan membuat sertifikat self-signed
- "443:443/tcp"
# Uncomment di bawah jika menggunakan Pi-hole sebagai DHCP Server
#- "67:67/udp"
# Uncomment baris di bawah jika menggunakan Pi-hole sebagai NTP server
#- "123:123/udp"
environment:
# Set zona waktu yang sesuai dari
# https://en.wikipedia.org/wiki/List_of_tz_database_time_zones, misal:
TZ: 'America/Chicago'
# Set password untuk akses web interface. Jika tidak diatur, akan dibuat password acak
FTLCONF_webserver_api_password: 'correct horse battery staple'
# Jika menggunakan network default Docker `bridge`, mode listening dns harus di-set ke 'all'
### FTLCONF_dns_listeningMode: 'all'
# Volumes untuk menyimpan data antara upgrade container
volumes:
# Untuk menyimpan database Pi-hole dan file konfigurasi umum
- /share/Container/pihole/config:/etc/pihole
# Uncomment di bawah jika punya file konfigurasi dnsmasq custom yang ingin dipertahankan. Tidak perlu untuk kebanyakan pengguna baru Pi-hole v6. Jika upgrade dari v5 dan sudah pernah pakai direktori ini, sebaiknya tetap aktifkan saat pertama kali start container v6 untuk migrasi penuh. Bisa dihapus setelahnya. Butuh variabel environment FTLCONF_misc_etc_dnsmasq_d: 'true'
#- /share/Container/pihole/etc-dnsmasq.d:/etc/dnsmasq.d
cap_add:
# Lihat https://github.com/pi-hole/docker-pi-hole#note-on-capabilities
# Diperlukan jika menggunakan Pi-hole sebagai DHCP server, kalau tidak tidak perlu
- NET_ADMIN
# Diperlukan jika menggunakan Pi-hole sebagai NTP client agar bisa set waktu sistem host
- SYS_TIME
# Opsional, jika Pi-hole perlu waktu proses lebih
- SYS_NICE
restart: always
Yup, memang beda. Juga kelihatannya kita bisa skip bind mount kedua.
TAPI, saya rasa kita tetap perlu qnet-network itu. Jadi mungkin seperti ini…
# Info lebih lanjut di https://github.com/pi-hole/docker-pi-hole/ dan https://docs.pi-hole.net/
networks:
qnet-network:
driver_opts:
iface: eth0
driver: qnet
ipam:
driver: qnet
options:
iface: eth0
config:
- subnet: '10.0.0.0/24'
gateway: '10.0.0.1'
services:
pihole:
container_name: pihole
image: pihole/pihole:latest
networks:
qnet-network:
ipv4_address: '10.0.0.10'
hostname: pihole
ports:
# Port DNS
- "53:53/tcp"
- "53:53/udp"
# Port HTTP Default
- "80:80/tcp"
# Port HTTPs Default. FTL akan membuat sertifikat self-signed
- "443:443/tcp"
# Uncomment di bawah jika menggunakan Pi-hole sebagai DHCP Server
#- "67:67/udp"
# Uncomment baris di bawah jika menggunakan Pi-hole sebagai NTP server
#- "123:123/udp"
environment:
# Set zona waktu yang sesuai dari
# https://en.wikipedia.org/wiki/List_of_tz_database_time_zones, misal:
TZ: 'America/Chicago'
# Set password untuk akses web interface. Jika tidak diatur, akan dibuat password acak
FTLCONF_webserver_api_password: 'correct horse battery staple'
# Jika menggunakan network default Docker `bridge`, mode listening dns harus di-set ke 'all'
### FTLCONF_dns_listeningMode: 'all'
#### Karena QNAP (saya punya user terpisah untuk semua hal docker)
PIHOLE_UID: 1000
PIHOLE_GID: 1001
# Volumes untuk menyimpan data antara upgrade container
volumes:
# Untuk menyimpan database Pi-hole dan file konfigurasi umum
- /share/Container/pihole/config:/etc/pihole
# Uncomment di bawah jika punya file konfigurasi dnsmasq custom yang ingin dipertahankan. Tidak perlu untuk kebanyakan pengguna baru Pi-hole v6. Jika upgrade dari v5 dan sudah pernah pakai direktori ini, sebaiknya tetap aktifkan saat pertama kali start container v6 untuk migrasi penuh. Bisa dihapus setelahnya. Butuh variabel environment FTLCONF_misc_etc_dnsmasq_d: 'true'
#- /share/Container/pihole/etc-dnsmasq.d:/etc/dnsmasq.d
cap_add:
# Lihat https://github.com/pi-hole/docker-pi-hole#note-on-capabilities
# Diperlukan jika menggunakan Pi-hole sebagai DHCP server, kalau tidak tidak perlu
- NET_ADMIN
# Diperlukan jika menggunakan Pi-hole sebagai NTP client agar bisa set waktu sistem host
- SYS_TIME
# Opsional, jika Pi-hole perlu waktu proses lebih
- SYS_NICE
restart: always
Sudah jalan! Semoga sukses untuk selanjutnya @NA9D
@SteveKo Apa yang spesial dari driver: qnet? Kayaknya ini cuma macvlan lain, cuma kalian buang semua IPV6-nya. Agak mengecewakan 
Saya benar-benar butuh kalian support IPV6, capek harus ribut cuma biar sesuatu bisa jalan seadanya.