blog:articles:raspberry:upgrade_pihole
Differences
This shows you the differences between two versions of the page.
blog:articles:raspberry:upgrade_pihole [2024/08/13 21:04] – created Phil Ide | blog:articles:raspberry:upgrade_pihole [2024/08/13 21:59] (current) – Phil Ide | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ~~NOCACHE~~ | ||
====== Upgrading Pi-Hole ====== | ====== Upgrading Pi-Hole ====== | ||
I decided to upgrade my Pi-Hole installation. It was running on a RPI3b, with the boot partition on an SD card, and the file system on an SSD. It also used a PoE (power over ethernet) HAT, and apart from the fan on the HAT getting very squeaky and dusty, it was running rather warm. | I decided to upgrade my Pi-Hole installation. It was running on a RPI3b, with the boot partition on an SD card, and the file system on an SSD. It also used a PoE (power over ethernet) HAT, and apart from the fan on the HAT getting very squeaky and dusty, it was running rather warm. | ||
Line 10: | Line 11: | ||
This is all on my development rig (which includes an 8-core x86 machine running Linux/Mint and a Raspberry Pi 5 running Raspberry OS and Cinnamon desktop), so it is very handy to have this all together. | This is all on my development rig (which includes an 8-core x86 machine running Linux/Mint and a Raspberry Pi 5 running Raspberry OS and Cinnamon desktop), so it is very handy to have this all together. | ||
+ | |||
+ | ===== Issues ===== | ||
+ | I just want to point out that to perform the upgrade requires 2 instances of Pi-Hole to be running at the same time, on separate machines. This can lead to a dangerous situation where the network itself becomes untenable (at least until one of the instances is switched off), but luckily it is only an issue if the DHCP server on Pi-Hole is enabled - which it isn't by default. | ||
+ | |||
+ | So, I install DietPi on the SSD and plug it into the RPI4 and boot it up. I change the hostname to something memorable - it actually doesn' | ||
+ | < | ||
+ | apt install apt-utils build-essential | ||
+ | </ | ||
+ | Then I ran dietpi-software and installed the following: | ||
+ | * lighttpd sqlite php | ||
+ | * redis | ||
+ | * webmin | ||
+ | * openssh | ||
+ | |||
+ | Then from dietpi-drive_manager I loaded a network share and copied down my cron scripts (in php) and the repository for [[https:// | ||
+ | |||
+ | Next I installed Rust - again it is something that has to be done manually - and compiled and tested alive-ho. On success, created the service file and got that enabled and running. | ||
+ | |||
+ | ===== Pi-Hole ===== | ||
+ | Here comes the fun part. First, on the old Pi-Hole, go to the Teleporter tab on the Settings page and make a backup and store it on the network share. | ||
+ | |||
+ | TURN OFF THE OLD PI-HOLE. | ||
+ | |||
+ | On the new Pi-Hole, load up Dietpi-Config and set the network settings to static ip-address, and identify the upstream dns servers and gateway. The static ip-address must be the same as the old one (actually it doesn' | ||
+ | |||
+ | Load up Dietpi-software again and install Pi-Hole. I opted to use Unbound as a 'local upstream' | ||
+ | |||
+ | Once it is all installed, go to a machine with a browser and load up the Pi-Hole admin page and go to the settings page. On the teleporter tab upload the settings you saved earlier and then on the DHCP tab enable DHCP. | ||
+ | |||
+ | At this point, none of your other computers will be visible by name on the network. You have two options: reboot each one of them or wait until their leases run out, at which point they' | ||
+ | |||
+ | The first option makes the machines visible by name as soon as they' | ||
+ | |||
+ | ===== Summary ===== | ||
+ | It took a bit longer than I thought, but it was actually fairly painless because I took into consideration preparation of the new machine before switching the old one off. | ||
+ | |||
+ | ~~socialite~~ | ||
+ | ~~DISCUSSION~~ | ||
blog/articles/raspberry/upgrade_pihole.1723583082.txt.gz · Last modified: 2024/08/13 21:04 by Phil Ide