Mix Pi-hole and balenaSound to single balenaCloud application, following the Two projects, one device: turn your Raspberry Pi into a multitool! blog post.
-
Custom hostname
-
Static IP and CloudFlare DNS
-
Unbound (recursive DNS) and fbcp (display driver) removed from Pi-hole
-
Create new application holy-sound in balenaCloud
-
Set the following Fleet (application) Variables
Name Value Note PIHOLE_DNS_ 208.67.222.222;208.67.220.220 Upstream DNS (where a non-blocked DNS queries will be forwarded) SOUND_MODE STANDALONE Disable Multi-room (only single device playing) SOUND_SPOTIFY_BITRATE 320 Spotify playback bitrate (default is 160) SOUND_SUPERVISOR_PORT 8081 Port for API and UI of Sound supervisor (default is 80 what collide with Pi-hole UI) TZ Continent/City Timezone -
Add device
-
Set the following Device Variables
Name Value Note BLUETOOTH_DEVICE_NAME balenaSound How the device will be shown in Bluetooth connections ServerIP 192.168.1.2 Device IP address SOUND_DEVICE_NAME balenaPlayer Spotify Connect and AirPlay name SOUND_SPOTIFY_ENABLE_CACHE true Enable caching (only for devices with enough disk space) WEBPASSWORD secret Password to access Pi-hole Web Interface at http://<ServerIP>/admin/ -
Set the following Device Configuration (in CUSTOM CONFIGURATION VARIABLES section)
Name Value Note BALENA_HOST_CONFIG_dtoverlay hifiberry-dacplus Value from supported DAC boards -
Download and flash balenaOS image
-
Clone this repo
-
Pull submodules
git submodule update --init
-
Mount SD Card
-
Patch image settings with
./patch-balena-settings.sh --hostname <HOSTNAME> --ip <ServerIP>/<RANGE> --gw <IP> <MOUNT_POINT>
E.g.
./patch-balena-settings.sh --hostname spongebob --ip 192.168.1.2/24 --gw 192.168.1.1 /mnt/balenaOS
-
Unmount SD Card
-
Power on RPi and wait until device appears in balenaCloud
-
Build and push holy-sound application to balenaCloud
balena push holy-sound --multi-dockerignore
-
Update submodules
git submodule update --remote --merge
-
Update
docker-compose.yml
with eventual changes from balena-pihole/docker-compose.yml and balena-sound/docker-compose.yml -
Build and push new holy-sound application release to balenaCloud
balena push holy-sound --multi-dockerignore
-
Pi-hole customization values in Docker image details
-
balenaSound customization values in documentation