If you are looking for a way to quickly and easily get up and running with Pi-hole and a Minecraft Server for your home network, this is the project for you.
This project is a balenaCloud stack
balenaCloud is a free service to remotely manage and update your Raspberry Pi through an online dashboard interface.
- A free balenaCloud account
- Raspberry Pi 4B (4GB Model HIGHLY recommended)
- A fan to cool the CPU on the Raspberry Pi
- 16GB or greater micro SD Card (SanDisk Extreme Pro SD cards recommended)
- Login to the balenaCloud dashboard
- Create an application, selecting the correct device type for your Raspberry Pi
- Add a device to the application, enabling you to download the OS
- Flash the downloaded OS to your SD card with balenaEtcher
- Power up the Pi and check it's online in the dashboard
- Configure Application Environment Variables
Application Environment Variables apply to all services within the application, and can be applied fleet-wide to apply to multiple devices.
Name | Example | Purpose |
---|---|---|
TZ |
America/New_York |
To inform services of the timezone in your location, in order to set times and dates within the applications correctly. Find a list of all timezone values here. |
DNSMASQ_LISTENING |
eth0 |
We set this to eth0 to indicate we want DNSMASQ to listen on the ethernet interface of the Raspberry Pi. If you're connecting to your network with WiFi replace this with wlan0 |
INTERFACE |
eth0 |
As above. |
WEBPASSWORD |
mysecretpassword |
(optional) password for accessing the web-based interface of Pi-hole - you won’t be able to access the admin panel without defining a password here. |
DNS1 |
127.0.0.1#5053 |
(optional) Tell Pi-hole where to forward DNS requests that aren’t blocked. We’re using the dnscrypt-proxy project here but you can specify your own. |
DNS2 |
127.0.0.1#5053 |
(optional) Secondary DNS server - see above. |
ServerIP |
x.x.x.x |
(recommended) Set to your server's LAN IP, used by web block modes and lighttpd bind address. |
Name | Example | Purpose |
---|---|---|
SCP_PASSWORD |
balenaserver |
(optional) Set your own SCP password, defaults to balenaminecraftserver |
DEVICE_HOSTNAME |
balenaminecraftserver |
(optional) Set your own device hostname. |
DOUBLE_RAM |
false |
(recommended) The default value used by a Minecraft server is 1GB if value is set to true doubles it to 2GB. |
- Install the balena CLI tools
- Login with
balena login
- Download this project and from the project directory run
balena push <appName>
where is the name you gave your balenaCloud application in the first step.
Open a web browser and enter the device IP address like this: 192.168.1.2/admin
. You can sign in and configure settings using the value set for WEBPASSWORD
.
For more information on post install setup, check the offical Pi-hole documentation here: https://docs.pi-hole.net/main/post-install/
Open the Minecraft and enter your DEVICE_HOSTNAME
, by default this will be balenaminecraftserver
. You can also connect using the device IP address.
- From the project directory run
git submodule foreach git pull origin master
- Wait for project changes to be pulled
- Run
balena push <appName>
to push the changes to the Pi
All credit goes to: