Improve formatting in run-pihole/README.md (#349)

This commit is contained in:
Alexander Momchilov 2022-04-13 06:28:56 -04:00 committed by GitHub
parent e7605b3680
commit 368709e74c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -11,23 +11,25 @@
## Customization ## Customization
* Feel free to change [20-dns.conflist](../cni-plugins/20-dns.conflist) to change the IP address and MAC address of the container. * Feel free to change [`20-dns.conflist`](../cni-plugins/20-dns.conflist) to change the IP address and MAC address of the container.
* Update [10-dns.sh](../dns-common/on_boot.d/10-dns.sh) with your own values * Update [`10-dns.sh`](../dns-common/on_boot.d/10-dns.sh) with your own values
* If you want IPv6 support use [20-dnsipv6.conflist](../cni-plugins/20-dnsipv6.conflist) and update [10-dns.sh](../dns-common/on_boot.d/10-dns.sh) with the IPv6 addresses. Also, please provide IPv6 servers to podman using --dns arguments. * If you want IPv6 support use [`20-dnsipv6.conflist`](../cni-plugins/20-dnsipv6.conflist) and update [`10-dns.sh`](../dns-common/on_boot.d/10-dns.sh) with the IPv6 addresses. Also, please provide IPv6 servers to podman using --dns arguments.
## Steps ## Steps
1. Copy [05-install-cni-plugins.sh](../cni-plugins/05-install-cni-plugins.sh) to /mnt/data/on_boot.d 1. Copy [`05-install-cni-plugins.sh`](../cni-plugins/05-install-cni-plugins.sh) to `/mnt/data/on_boot.d`
1. Execute /mnt/data/on_boot.d/05-install-cni-plugins.sh 1. Execute `/mnt/data/on_boot.d/05-install-cni-plugins.sh`
1. On your controller, make a Corporate network with no DHCP server and give it a VLAN. For this example we are using VLAN 5. 1. On your controller, make a Corporate network with no DHCP server and give it a VLAN. For this example we are using VLAN 5.
1. Copy [20-dns.conflist](../cni-plugins/20-dns.conflist) to /etc/cni/net.d. This will create your podman macvlan network 1. Copy [`20-dns.conflist`](../cni-plugins/20-dns.conflist) to `/etc/cni/net.d`. This will create your podman `macvlan` network
```shell
podman network create dns ```shell
curl -L https://github.com/boostchicken-dev/udm-utilities/raw/master/cni-plugins/20-dns.conflist -o /etc/cni/net.d/dns.conflist podman network create dns
``` curl -L https://github.com/boostchicken-dev/udm-utilities/raw/master/cni-plugins/20-dns.conflist -o /etc/cni/net.d/dns.conflist
5. Copy [10-dns.sh](../dns-common/on_boot.d/10-dns.sh) to /mnt/data/on_boot.d and update its values to reflect your environment ```
``` 1. Copy [`10-dns.sh`](../dns-common/on_boot.d/10-dns.sh) to `/mnt/data/on_boot.d` and update its values to reflect your environment
```sh
... ...
VLAN=5 VLAN=5
IPV4_IP="10.0.5.3" IPV4_IP="10.0.5.3"
@ -37,18 +39,20 @@ curl -L https://github.com/boostchicken-dev/udm-utilities/raw/master/cni-plugins
... ...
``` ```
6. Execute /mnt/data/on_boot.d/10-dns.sh 6. Execute `/mnt/data/on_boot.d/10-dns.sh`
1. Create directories for persistent Pi-hole configuration 1. Create directories for persistent Pi-hole configuration
``` ```sh
mkdir -p /mnt/data/etc-pihole mkdir -p /mnt/data/etc-pihole
mkdir -p /mnt/data/pihole/etc-dnsmasq.d mkdir -p /mnt/data/pihole/etc-dnsmasq.d
``` ```
1. Create and run the Pi-hole docker container. The following command sets the upstream DNS servers to 1.1.1.1 and 8.8.8.8. 1. Create and run the Pi-hole docker container. The following command sets the upstream DNS servers to `1.1.1.1` ([Cloudflare DNS](https://1.1.1.1/)) and `8.8.8.8` ([Google DNS](https://developers.google.com/speed/public-dns/)).
```sh ```sh
podman run -d --network dns --restart always \ podman run -d \
--network dns \
--restart always \
--name pihole \ --name pihole \
-e TZ="America/Los Angeles" \ -e TZ="America/Los Angeles" \
-v "/mnt/data/etc-pihole/:/etc/pihole/" \ -v "/mnt/data/etc-pihole/:/etc/pihole/" \
@ -63,12 +67,13 @@ curl -L https://github.com/boostchicken-dev/udm-utilities/raw/master/cni-plugins
-e IPv6="False" \ -e IPv6="False" \
pihole/pihole:latest pihole/pihole:latest
``` ```
The below errors are expected and acceptable
The below errors are expected and acceptable:
> ```
ERRO[0022] unable to get systemd connection to add healthchecks: dial unix /run/systemd/private: connect: no such file or directory > ERRO[0022] unable to get systemd connection to add healthchecks: dial unix /run/systemd/private: connect: no such file or directory
ERRO[0022] unable to get systemd connection to start healthchecks: dial unix /run/systemd/private: connect: no such file or directory > ERRO[0022] unable to get systemd connection to start healthchecks: dial unix /run/systemd/private: connect: no such file or directory
> ```
1. Set pihole password 1. Set pihole password
@ -76,17 +81,19 @@ curl -L https://github.com/boostchicken-dev/udm-utilities/raw/master/cni-plugins
podman exec -it pihole pihole -a -p YOURNEWPASSHERE podman exec -it pihole pihole -a -p YOURNEWPASSHERE
``` ```
1. Update your DNS Servers to 10.0.5.3 (or your custom ip) for each of your Networks (UDM GUI | Networks | Advanced | DHCP Name Server) 1. Update your DNS Servers to `10.0.5.3` (or your custom ip) for each of your Networks (UDM GUI | Networks | Advanced | DHCP Name Server)
1. Access the pihole like you would normally, e.g. http://10.0.5.3 if using examples above 1. Access the pihole like you would normally, e.g. http://10.0.5.3 if using examples above
## Upgrading your PiHole container ## Upgrading your PiHole container
1. Edit upd_pihole.sh script to use the same `podman run` command you used at installation. 1. Edit `upd_pihole.sh` script to use the same `podman run` command you used at installation.
2. Copy the upd_pihole.sh script to /mnt/data/scripts 2. Copy the `upd_pihole.sh` script to /mnt/data/scripts
3. Anytime you want to update your pihole installation, simply run `/mnt/data/scripts/upd_pihole.sh` 3. Anytime you want to update your pihole installation, simply run `/mnt/data/scripts/upd_pihole.sh`
## PiHole with CloudFlareD Command ## PiHole with CloudFlareD Command
podman run -d --network dns --restart always \ podman run -d \
--network dns
--restart always \
--name pihole \ --name pihole \
-e TZ="America/Los Angeles" \ -e TZ="America/Los Angeles" \
-v "/mnt/data/etc-pihole/:/etc/pihole/" \ -v "/mnt/data/etc-pihole/:/etc/pihole/" \
@ -104,21 +111,23 @@ curl -L https://github.com/boostchicken-dev/udm-utilities/raw/master/cni-plugins
### PiHole with DoTe ### PiHole with DoTe
podman run -d --network dns --restart always \ podman run -d \
--name pihole \ --network dns \
-e TZ="America/Los Angeles" \ --restart always \
-v "/mnt/data/etc-pihole/:/etc/pihole/" \ --name pihole \
-v "/mnt/data/pihole/etc-dnsmasq.d/:/etc/dnsmasq.d/" \ -e TZ="America/Los Angeles" \
--dns=127.0.0.1 \ -v "/mnt/data/etc-pihole/:/etc/pihole/" \
--dns=1.1.1.1 \ -v "/mnt/data/pihole/etc-dnsmasq.d/:/etc/dnsmasq.d/" \
--hostname pi.hole \ --dns=127.0.0.1 \
-e CLOUDFLARED_OPTS="--port 5053 --address 0.0.0.0" \ --dns=1.1.1.1 \
-e VIRTUAL_HOST="pi.hole" \ --hostname pi.hole \
-e PROXY_LOCATION="pi.hole" \ -e CLOUDFLARED_OPTS="--port 5053 --address 0.0.0.0" \
-e ServerIP="10.0.5.3" \ -e VIRTUAL_HOST="pi.hole" \
-e PIHOLE_DNS_="127.0.0.1#5053" \ -e PROXY_LOCATION="pi.hole" \
-e IPv6="False" \ -e ServerIP="10.0.5.3" \
boostchicken/pihole-dote:latest -e PIHOLE_DNS_="127.0.0.1#5053" \
-e IPv6="False" \
boostchicken/pihole-dote:latest
The cloudflared command is written in Go and is not very lightweight. In my The cloudflared command is written in Go and is not very lightweight. In my
experience, it's not made for long-term running. Instead, the project DoTe experience, it's not made for long-term running. Instead, the project DoTe