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
* 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
* 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.
* 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
* 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
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. 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. 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
```shell
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 [`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
curl -L https://github.com/boostchicken-dev/udm-utilities/raw/master/cni-plugins/20-dns.conflist -o /etc/cni/net.d/dns.conflist
```
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
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
```
```sh
mkdir -p /mnt/data/etc-pihole
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
podman run -d --network dns --restart always \
podman run -d \
--network dns \
--restart always \
--name pihole \
-e TZ="America/Los Angeles" \
-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" \
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 start 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
> ```
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
```
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
## Upgrading your PiHole container
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
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
3. Anytime you want to update your pihole installation, simply run `/mnt/data/scripts/upd_pihole.sh`
## PiHole with CloudFlareD Command
podman run -d --network dns --restart always \
podman run -d \
--network dns
--restart always \
--name pihole \
-e TZ="America/Los Angeles" \
-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
podman run -d --network dns --restart always \
--name pihole \
-e TZ="America/Los Angeles" \
-v "/mnt/data/etc-pihole/:/etc/pihole/" \
-v "/mnt/data/pihole/etc-dnsmasq.d/:/etc/dnsmasq.d/" \
--dns=127.0.0.1 \
--dns=1.1.1.1 \
--hostname pi.hole \
-e CLOUDFLARED_OPTS="--port 5053 --address 0.0.0.0" \
-e VIRTUAL_HOST="pi.hole" \
-e PROXY_LOCATION="pi.hole" \
-e ServerIP="10.0.5.3" \
-e PIHOLE_DNS_="127.0.0.1#5053" \
-e IPv6="False" \
boostchicken/pihole-dote:latest
podman run -d \
--network dns \
--restart always \
--name pihole \
-e TZ="America/Los Angeles" \
-v "/mnt/data/etc-pihole/:/etc/pihole/" \
-v "/mnt/data/pihole/etc-dnsmasq.d/:/etc/dnsmasq.d/" \
--dns=127.0.0.1 \
--dns=1.1.1.1 \
--hostname pi.hole \
-e CLOUDFLARED_OPTS="--port 5053 --address 0.0.0.0" \
-e VIRTUAL_HOST="pi.hole" \
-e PROXY_LOCATION="pi.hole" \
-e ServerIP="10.0.5.3" \
-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
experience, it's not made for long-term running. Instead, the project DoTe