I've been running Pi-hole in a ubuntu-xenial:latest LXC container on my QNAP following these steps:
https://forum.qnap.com/viewtopic.php?t=147501#p709656
I was able to upgrade to Pi-hole 5 without any complications by opening up a command prompt to the container and running the commands here:
https://pi-hole.net/2020/01/19/announcing-a-beta-test-of-pi-hole-5-0/
The only oddity to running Pi-hole in a container is that there doesn't seem to be any way to get Pi-hole to identify/list individual clients. Only the NAS itself is listed as a client for all queries.
But that may just be a quirk of using a container on a NAS, however (since the NAS handles assigning containers IPs via "Virtual Switch").
Following any of these guides doesn't solve it:
https://discourse.pi-hole.net/t/why-should-pi-hole-be-my-only-dns-server/3376
Otherwise works great, just providing those details as background to clarify it isn't an issue specific to Pi-hole 5.
Question: does the "already up-to-date" message mean the "pihole checkout web release/v5.0" command wasn't necessary? Or just that one specific step of the command is already-up-to-date?
Out of curiosity what would happen if someone didn't run it?
ubuntu@pihole-qnap:~$ pihole checkout web release/v5.0
Please note that changing branches severely alters your Pi-hole subsystems
Features that work on the master branch, may not on a development branch
This feature is NOT supported unless a Pi-hole developer explicitly asks!
Have you read and understood this? [y/N] y
[✓] Fetching branches from https://github.com/pi-hole/AdminLTE.git
[i] 19 branches available for Web Admin
[✓] Switching to branch: 'release/v5.0' from 'refs/heads/master'
[i] Already up-to-date.
ubuntu@pihole-qnap:~$