This script automates the installation and configuration of Pi-hole, WireGuard, and Unbound using Docker. It streamlines the setup process by managing necessary configurations and dependencies.
- A Unix-based system (Linux, macOS)
- Docker installed
- Docker Compose installed
-
Clone or download the script to your local machine.
-
Open a terminal and navigate to the script's directory.
-
Run the script using the following command:
./adaka.sh -p <password> [-s <subnet>] [-u <wg-easy subnet>] [-t <timezone>]
Replace
<password>
,<subnet>
,<wg-easy subnet>
, and<timezone>
with your desired values.
-p <password>
: Required. The password for the wg-easy and Pi-hole web interfaces.-s <subnet>
: Optional. The subnet for the Docker network (default:10.8.1.0/24
).-u <wg-easy subnet>
: Optional. The subnet for wg-easy clients (default:192.168.100.x
).-t <timezone>
: Optional. The timezone setting for Pi-hole (default is retrieved from the system).
The script creates the following directories:
~/.wirehole/.wg-easy
~/.wirehole/.pihole
~/.wirehole/.unbound
Additionally, it generates:
- Docker Compose configuration file (
docker-compose.yml
) - Unbound configuration file (
unbound.conf
) - Root hints for Unbound
- DNSSEC root trust anchor
- FIXED: Passwords that have special characters dont work when passed as -p option using the script
- FIXED: Port 8083 for external access to pihole dont work, will be fixed soon
-
Make the script executable:
chmod +x adaka.sh
-
Execute the script with your desired options.
./adaka.sh -p mysecurepassword
-
Follow the prompts and wait for the setup to complete.
-
Pi-hole Web Interface:
- URL:
http://<YOUR_PUBLIC_IP>:8083/admin
- OR:
http://10.8.0.3:80/admin
- URL:
-
wg-easy Web Interface:
- URL:
http://<YOUR_PUBLIC_IP>:51821
- OR:
http://10.8.0.2:51821
- URL:
This project is licensed under the MIT License