service:pihole
Различия
Показаны различия между двумя версиями страницы.
Следующая версия | Предыдущая версия | ||
service:pihole [04.10.2024 10:03] – создано viacheslav | service:pihole [27.03.2025 21:59] (текущий) – [Docker] viacheslav | ||
---|---|---|---|
Строка 1: | Строка 1: | ||
- | ===== Pi-hole ===== | + | ====== Pi-hole |
The [[https:// | The [[https:// | ||
Строка 15: | Строка 15: | ||
pihole -up | pihole -up | ||
</ | </ | ||
+ | :!: В 6-й версии изменились названия переменных и т. д. [[https:// | ||
+ | ===== Установка ===== | ||
+ | ==== Docker ==== | ||
+ | https:// | ||
- | ==== Установка ==== | + | Админка на порту 5001, DNS на 53. Чтобы DNS не конфликтовал с systemd-resolve на хосте, нужно на хосте |
+ | <code bash> | ||
+ | sudo sed -r -i.orig ' | ||
+ | sudo sh -c 'rm / | ||
+ | sudo systemctl restart systemd-resolved | ||
+ | </ | ||
+ | https:// | ||
+ | |||
+ | Если systemd-resolve был выключен, | ||
+ | <code yaml> | ||
+ | ports: | ||
+ | - 192.168.1.15: | ||
+ | - 192.168.1.15: | ||
+ | </ | ||
+ | https:// | ||
+ | |||
+ | <code yaml> | ||
+ | pihole: | ||
+ | image: pihole/ | ||
+ | container_name: | ||
+ | restart: unless-stopped | ||
+ | environment: | ||
+ | TZ: ' | ||
+ | FTLCONF_webserver_api_password: | ||
+ | FTLCONF_webserver_port: | ||
+ | FTLCONF_dns_upstreams: | ||
+ | ; | ||
+ | 11; | ||
+ | FTLCONF_dns_dnssec: | ||
+ | FTLCONF_dns_listeningMode: | ||
+ | ports: | ||
+ | - 192.168.1.15: | ||
+ | - 192.168.1.15: | ||
+ | - 5001:5001 | ||
+ | volumes: | ||
+ | - ' | ||
+ | - ' | ||
+ | </ | ||
+ | |||
+ | ==== Локально | ||
Методом № 2 | Методом № 2 | ||
<code bash> | <code bash> | ||
Строка 34: | Строка 77: | ||
</ | </ | ||
- | ==== Выяснить, | + | ===== Выяснить, |
<code bash> | <code bash> | ||
root@orangepione: | root@orangepione: | ||
Строка 46: | Строка 89: | ||
</ | </ | ||
- | ==== Ошибки ==== | + | ===== Ошибки, проблемы ===== |
- | === DNSMASQ_WARN: | + | ==== Контейнер не стартует после перезагрузки хоста ==== |
+ | Проблема возникает, | ||
+ | <code yaml> | ||
+ | ports: | ||
+ | - 192.168.1.15: | ||
+ | - 192.168.1.15: | ||
+ | </ | ||
+ | Дело в том, что сеть не успевает полностью подняться до запуска контейнера и его запуск обламывается. Для решения можно использовать следующий костыль: | ||
+ | |||
+ | <code bash> | ||
+ | # Сделать override-файл для докер-демона, | ||
+ | systemctl edit docker | ||
+ | |||
+ | [Service] | ||
+ | # wait for the network to be up | ||
+ | ExecStartPre=/ | ||
+ | </ | ||
+ | |||
+ | <code bash> | ||
+ | # Скрипт | ||
+ | cat << EOF > / | ||
+ | # | ||
+ | ipServerAddress=" | ||
+ | cycleLength=1 # The length of a wait cycle in seconds | ||
+ | timeout=15 | ||
+ | |||
+ | elapsedTime=0 | ||
+ | ping -c 1 \$ipServerAddress > /dev/null 2>& | ||
+ | while [ \$? -ne 0 ]; do | ||
+ | if [ " | ||
+ | # Timeout | ||
+ | exit 1 | ||
+ | fi | ||
+ | |||
+ | elapsedTime=\$((elapsedTime + cycleLength)) | ||
+ | sleep \$cycleLength | ||
+ | ping -c 1 \$ipServerAddress > /dev/null 2>& | ||
+ | done | ||
+ | EOF | ||
+ | |||
+ | # Сделать скрипт запускаемым | ||
+ | chmod ug+x / | ||
+ | </ | ||
+ | https:// | ||
+ | |||
+ | ==== DNSMASQ_WARN: | ||
<code bash> | <code bash> |
service/pihole.1728036187.txt.gz · Последнее изменение: 04.10.2024 10:03 — viacheslav