As said use docker but if you directly want to run a DNS and VPN servers then my recommadtion is Adguard Home instead of PiHole since it is rootless and doesn’t modify system And for VPN go with PiVPN script and setup wireguard. Once installed both handle automatic updates without running a single command.