Browse Source

Add pi-hole app

master-prepare
Luke Childs 3 years ago
parent
commit
9ca55a25e0
  1. 0
      apps/pi-hole/data/dnsmasq/.gitkeep
  2. 0
      apps/pi-hole/data/pihole/.gitkeep
  3. 22
      apps/pi-hole/docker-compose.yml
  4. 22
      apps/registry.json
  5. 4
      scripts/configure
  6. 2
      templates/.env-sample
  7. 4
      templates/torrc-sample

0
apps/pi-hole/data/dnsmasq/.gitkeep

0
apps/pi-hole/data/pihole/.gitkeep

22
apps/pi-hole/docker-compose.yml

@ -0,0 +1,22 @@
version: "3.7"
services:
server:
image: pihole/pihole:v5.8.1@sha256:d2f764c4531515a1b93d5a8d1d82272ddc961e580f19c84ed764e4fa863823b1
# Pi-hole doesn't currently support running as non-root
# https://github.com/pi-hole/docker-pi-hole/issues/685
# user: "1000:1000"
restart: on-failure
ports:
- 53:53
- 53:53/udp
- ${APP_PIHOLE_PORT}:80
volumes:
- ${APP_DATA_DIR}/data/pihole:/etc/pihole/
- ${APP_DATA_DIR}/data/dnsmasq:/etc/dnsmasq.d/
environment:
- VIRTUAL_HOST=${APP_DOMAIN}
- WEBPASSWORD=moneyprintergobrrr
networks:
default:
ipv4_address: $APP_PIHOLE_IP

22
apps/registry.json

@ -21,6 +21,28 @@
"defaultPassword": "",
"torOnly": false
},
{
"id": "pi-hole",
"category": "Networking",
"name": "Pi-hole",
"version": "5.3.1",
"tagline": "Block ads on your entire network",
"description": "Instead of browser plugins or other software on each computer, install Pi-hole® on your Umbrel and your entire network is protected. Network-level blocking allows you to block ads in non-traditional places such as mobile apps and smart TVs, regardless of hardware or OS. Since advertisements are blocked before they are downloaded, network performance is improved and will feel faster. \n\nIn addition to blocking advertisements, Pi-hole® has an informative Web interface that shows stats on all the domains being queried on your network. Pi-hole® works fine with an existing DHCP server, but you can use Pi-hole®’s to keep your network management in one place.\n\n Pi-hole® and the Pi-hole® logo are registered trademarks of Pi-hole. Umbrel is not sponsored, endorsed by, or associated with Pi-hole®.",
"developer": "Pi-hole®",
"website": "https://pi-hole.net",
"dependencies": [],
"repo": "https://github.com/pi-hole/pi-hole",
"support": "https://discourse.pi-hole.net",
"port": 8082,
"gallery": [
"1.jpg",
"2.jpg",
"3.jpg"
],
"path": "",
"defaultPassword": "",
"torOnly": false
},
{
"id": "mempool",
"category": "Explorers",

4
scripts/configure

@ -163,6 +163,8 @@ APP_NEXTCLOUD_IP="10.21.21.32"
APP_NEXTCLOUD_DB_IP="10.21.21.33"
APP_NEXTCLOUD_REDIS_IP="10.21.21.34"
APP_NEXTCLOUD_CRON_IP="10.21.21.35"
APP_PIHOLE_PORT="8082"
APP_PIHOLE_IP="10.21.21.36"
# Generate RPC credentials
if [[ -z ${BITCOIN_RPC_USER+x} ]] || [[ -z ${BITCOIN_RPC_PASS+x} ]] || [[ -z ${BITCOIN_RPC_AUTH+x} ]]; then
@ -331,6 +333,8 @@ for template in "${NGINX_CONF_FILE}" "${BITCOIN_CONF_FILE}" "${LND_CONF_FILE}" "
sed -i "s/<app-nextcloud-db-ip>/${APP_NEXTCLOUD_DB_IP}/g" "${template}"
sed -i "s/<app-nextcloud-redis-ip>/${APP_NEXTCLOUD_REDIS_IP}/g" "${template}"
sed -i "s/<app-nextcloud-cron-ip>/${APP_NEXTCLOUD_CRON_IP}/g" "${template}"
sed -i "s/<app-pihole-port>/${APP_PIHOLE_PORT}/g" "${template}"
sed -i "s/<app-pihole-ip>/${APP_PIHOLE_IP}/g" "${template}"
done
##########################################################

2
templates/.env-sample

@ -66,3 +66,5 @@ APP_NEXTCLOUD_IP=<app-nextcloud-ip>
APP_NEXTCLOUD_DB_IP=<app-nextcloud-db-ip>
APP_NEXTCLOUD_REDIS_IP=<app-nextcloud-redis-ip>
APP_NEXTCLOUD_CRON_IP=<app-nextcloud-cron-ip>
APP_PIHOLE_PORT=<app-pihole-port>
APP_PIHOLE_IP=<app-pihole-ip>

4
templates/torrc-sample

@ -88,4 +88,8 @@ HiddenServicePort 80 <app-bluewallet-lndhub-ip>:<app-bluewallet-lndhub-port>
HiddenServiceDir /var/lib/tor/app-nextcloud
HiddenServicePort 80 <app-nextcloud-ip>:80
# pihole Hidden Service
HiddenServiceDir /var/lib/tor/app-pihole
HiddenServicePort 80 <app-pihole-ip>:80
HashedControlPassword <password>

Loading…
Cancel
Save