All Projects → Freekers → Automated Pihole

Freekers / Automated Pihole

Licence: gpl-3.0
Automated Self-Updating (Public) Pi-hole Stack using unbound as recursive DNS server with Ansible

Projects that are alternatives of or similar to Automated Pihole

Pi Hole On Google Compute Engine Free Tier With Full Tunnel And Split Tunnel Wireguard Vpn Configs
Run your own privacy-first ad blocking service at home, or in the cloud for free with Google Cloud Services.
Stars: ✭ 343 (+559.62%)
Mutual labels:  pi-hole
No Google
Completely block Google and its services
Stars: ✭ 596 (+1046.15%)
Mutual labels:  pi-hole
Ansible Restic
Deploy restic backup program
Stars: ✭ 29 (-44.23%)
Mutual labels:  ansible-playbook
Ansible Roles
Ansible Roles
Stars: ✭ 375 (+621.15%)
Mutual labels:  ansible-playbook
Monitoring
Monitor ESXi, Synology, Docker, PiHole and Raspberry Pi and Windows using Grafana, InfluxDB and Telegraf
Stars: ✭ 493 (+848.08%)
Mutual labels:  pi-hole
Pihole Regex
Custom regex filter list for use with Pi-hole.
Stars: ✭ 799 (+1436.54%)
Mutual labels:  pi-hole
De gwd
Debian bypass Gateway & DNS - <Burst Link>
Stars: ✭ 331 (+536.54%)
Mutual labels:  pi-hole
Laravan
Ansible Playbooks for Laravel - machine provisioning and app deployment
Stars: ✭ 49 (-5.77%)
Mutual labels:  ansible-playbook
Blacklist
Curated and well-maintained hostfile to block ads, tracking, cryptomining, and more! Updated regularly. ⚡🔒
Stars: ✭ 492 (+846.15%)
Mutual labels:  pi-hole
Nagios Nrpe Server
Nagios NRPE Server Role for Ansible
Stars: ✭ 27 (-48.08%)
Mutual labels:  ansible-playbook
Gravity Sync
An easy way to synchronize the blocklist and local DNS configurations of multiple Pi-hole 5.x instances.
Stars: ✭ 406 (+680.77%)
Mutual labels:  pi-hole
Pihole Updatelists
Update Pi-hole's lists from remote sources easily
Stars: ✭ 434 (+734.62%)
Mutual labels:  pi-hole
Ansible Multicast Graph
Visualises the multicast trees for a single IPv4 group address using information scraped from NX-OS, EOS and IOS devices using ansible, ntc-ansible and TextFSM
Stars: ✭ 13 (-75%)
Mutual labels:  ansible-playbook
Docker Pi Hole
Pi-hole in a docker container
Stars: ✭ 4,288 (+8146.15%)
Mutual labels:  pi-hole
Padd
PADD (formerly Chronometer2) is a more expansive version of the original chronometer.sh that is included with Pi-Hole. PADD provides in-depth information about your Pi-hole.
Stars: ✭ 1,011 (+1844.23%)
Mutual labels:  pi-hole
Piholeparser
Pi-Hole Compatible lists
Stars: ✭ 335 (+544.23%)
Mutual labels:  pi-hole
Ftl
The Pi-hole FTL engine
Stars: ✭ 776 (+1392.31%)
Mutual labels:  pi-hole
Upcloud Ansible
Dynamic inventory and modules for managing servers via UpCloud's API
Stars: ✭ 50 (-3.85%)
Mutual labels:  ansible-playbook
Eos Mainnet
Ansible repo for setting up an EOS RPC API node and syncing to the mainnet
Stars: ✭ 45 (-13.46%)
Mutual labels:  ansible-playbook
Pi Hole
A black hole for Internet advertisements
Stars: ✭ 34,076 (+65430.77%)
Mutual labels:  pi-hole

⚠️⚠️⚠️ Please note: This playbook has been deprecated in favor of ansible-adguard ⚠️⚠️⚠️

Automated, self-updating, Pi-hole stack using unbound as recursive DNS server

This Ansible playbook installs a self updating Pi-hole stack from scratch:

  • You can choose between a Public Pi-hole or a Personal/Private one
  • Both use unbound as recursive DNS server instead of public upstream DNS servers
  • Both deploy (by default) the uber adlist/blocklist by OISD.nl
  • Both add my (auto-updated) whitelist for your websurfing convenience
  • If deploying a public Pi-hole, it includes LetsEncrypt to secure the admin interface with valid certificate over HTTPS
  • If deploying a public Pi-hole, basic protection against DNS Amplification, SSH and bruteforce attacks is included using fail2ban
  • The entire stack is based on Docker (so OpenVZ VPSes are NOT supported)

Tested on Ubuntu Server 18.04.2 LTS (Minimal) with Ansible 2.8 on Scaleway.com

Proposed Usecase

I designed this playbook for my own personal usecase and decided to make it public for those of you who have the same usecase and/or want to (re)use specific parts from my playbook.
I'm willing to learn how to make this playbook more robust and generic. Therefore I am accepting pull requests :)
I highly recommend checking the playbook before running so that you know what will be installed etc.

Remarks for Public installation

  • Please do not set up a PUBLIC Pi-hole if you don't know what you're doing. You risk getting in all sorts of trouble. Most ISPs don't allow a public DNS resolver on their networks and will shut you down without notice. Why? Because it's generally a bad idea. You have been warned.
  • Make sure to add an A (and if applicable, AAAA) record for your Pi-hole's hostname in your domainname's DNS, pointing to the IP address of your server.
  • If certificate generation fails, click here for troubleshooting steps

Installation Instructions

  1. Install Ansible
  2. Clone repository using git clone https://github.com/Freekers/automated-pihole.git
  3. Edit hosts and .env file to reflect your setup, i.e. change domains, IP etc. playbook.yml does NOT need to be changed!
  4. Install required roles from Ansible Galaxy roles using ansible-galaxy install -r requirements.yml
  5. Start playbook using ansible-playbook playbook.yml --ask-become-pass
    When running the playbook on a remote target/server, make sure to copy your SSH key to remote target/server first (before running the playbook) using ssh-copy-id

Usage Instructions

Once everything has been installed, you can use regular docker and docker-compose commands to stop/start/restart containers.
The docker-compose.yml file will be located at /opt/automated-pihole after installation.

Uninstallation Instructions

  1. sudo docker-compose -f /opt/automated-pihole/docker-compose.yml down
  2. rm -rf /opt/automated-pihole
  3. Consult playbook.yml to manually review packages & firewall rules that are no longer needed

Disclaimer

  • Even though this playbook configures and automatic updating Pi-hole, the Pi-Hole developers specifically have not included an auto-update option. It is best to read the release notes and determine if an update is appropriate for you, prior to updating. Sometimes updates can introduce breaking changes requiring manual intervention, such as editing/updating the docker-compose file. Therefore always keep an eye on the release notes.
  • This playbook/script/repository is 100% unofficial and NOT affiliated with, funded, endorsed, or in any way associated with Pi-hole.

Acknowledgements

License

Unless otherwise specified, all code is released under the GNU General Public License v3.0. See the repository's LICENSE file for details.

Licenses for other components

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].