Add Doris Schoolhouse and clean pending homelab changes
This commit is contained in:
5
pihole/rpi4/.env.example
Normal file
5
pihole/rpi4/.env.example
Normal file
@@ -0,0 +1,5 @@
|
||||
TZ=America/Chicago
|
||||
APPDATA_PIHOLE_ROOT=/home/pi/pihole
|
||||
APPDATA_UNBOUND_ROOT=/home/pi/pihole/unbound
|
||||
RPI4_PIHOLE_WEB_PORT=8955
|
||||
PIHOLE_PASSWORD=CHANGE_ME
|
||||
9
pihole/rpi4/README.md
Normal file
9
pihole/rpi4/README.md
Normal file
@@ -0,0 +1,9 @@
|
||||
# Raspberry Pi 4 Pi-hole Replica
|
||||
|
||||
- **Repo stack path:** `/home/fizzlepoof/repos/truenas-stacks/pihole/rpi4`
|
||||
- **Suggested live stack path:** `~/pihole/stack`
|
||||
- **Node role:** BACKUP2
|
||||
- **VIP target:** `10.5.1.53/24`
|
||||
|
||||
This node still needs its actual LAN IP confirmed before live deployment.
|
||||
Native keepalived config example is in `keepalived.conf.example`.
|
||||
38
pihole/rpi4/docker-compose.yaml
Normal file
38
pihole/rpi4/docker-compose.yaml
Normal file
@@ -0,0 +1,38 @@
|
||||
services:
|
||||
unbound:
|
||||
image: mvance/unbound:latest
|
||||
container_name: unbound-pihole-rpi4
|
||||
network_mode: host
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
TZ: ${TZ}
|
||||
UNBOUND_PORT: "5335"
|
||||
volumes:
|
||||
- ${APPDATA_UNBOUND_ROOT}:/opt/unbound/etc/unbound/
|
||||
healthcheck:
|
||||
test: ["CMD-SHELL", "hex=$$(printf '%04X' \"$$UNBOUND_PORT\"); grep -qi \":$$hex\" /proc/net/tcp /proc/net/tcp6 || exit 1"]
|
||||
interval: 30s
|
||||
timeout: 10s
|
||||
retries: 6
|
||||
start_period: 20s
|
||||
|
||||
pihole:
|
||||
image: pihole/pihole:latest
|
||||
container_name: pihole-rpi4
|
||||
network_mode: host
|
||||
restart: unless-stopped
|
||||
depends_on:
|
||||
unbound:
|
||||
condition: service_healthy
|
||||
environment:
|
||||
TZ: ${TZ}
|
||||
PIHOLE_WEB_PORT: ${RPI4_PIHOLE_WEB_PORT}
|
||||
FTLCONF_webserver_api_password: ${PIHOLE_PASSWORD}
|
||||
FTLCONF_dns_listeningMode: "LOCAL"
|
||||
FTLCONF_dns_upstreams: "127.0.0.1#5335"
|
||||
FTLCONF_webserver_port: ${RPI4_PIHOLE_WEB_PORT}
|
||||
volumes:
|
||||
- ${APPDATA_PIHOLE_ROOT}/etc-pihole:/etc/pihole
|
||||
- ${APPDATA_PIHOLE_ROOT}/etc-dnsmasq.d:/etc/dnsmasq.d
|
||||
cap_add:
|
||||
- SYS_NICE
|
||||
21
pihole/rpi4/keepalived.conf.example
Normal file
21
pihole/rpi4/keepalived.conf.example
Normal file
@@ -0,0 +1,21 @@
|
||||
global_defs {
|
||||
router_id pihole_rpi4
|
||||
}
|
||||
|
||||
vrrp_instance VI_DNS {
|
||||
state BACKUP
|
||||
interface eth0
|
||||
virtual_router_id 53
|
||||
priority 80
|
||||
advert_int 1
|
||||
nopreempt
|
||||
|
||||
authentication {
|
||||
auth_type PASS
|
||||
auth_pass CHANGE01
|
||||
}
|
||||
|
||||
virtual_ipaddress {
|
||||
10.5.1.53/24
|
||||
}
|
||||
}
|
||||
27
pihole/rpi4/unbound.conf
Normal file
27
pihole/rpi4/unbound.conf
Normal file
@@ -0,0 +1,27 @@
|
||||
server:
|
||||
verbosity: 1
|
||||
interface: 127.0.0.1
|
||||
port: 5335
|
||||
do-ip4: yes
|
||||
do-udp: yes
|
||||
do-tcp: yes
|
||||
do-ip6: no
|
||||
|
||||
auto-trust-anchor-file: "/opt/unbound/etc/unbound/var/root.key"
|
||||
val-permissive-mode: no
|
||||
|
||||
num-threads: 2
|
||||
cache-min-ttl: 300
|
||||
cache-max-ttl: 86400
|
||||
prefetch: yes
|
||||
prefetch-key: yes
|
||||
minimal-responses: yes
|
||||
|
||||
qname-minimisation: yes
|
||||
hide-identity: yes
|
||||
hide-version: yes
|
||||
|
||||
access-control: 127.0.0.1/32 allow
|
||||
access-control: 0.0.0.0/0 refuse
|
||||
|
||||
root-hints: "/opt/unbound/etc/unbound/var/root.hints"
|
||||
Reference in New Issue
Block a user