Is there an external custom port config that disables using port 80 that I am missing? I'm worried (not WORRIED worried) that this will be overwritten with updates.
You only need to use /etc/lighttpd/external.conf if you are using an old Pi-hole version (prior to v5.15) and you always kept updating this old version. That was the way Pi-hole used to configure lighttpd.
If you are on a fresh install (or your first installation was newer than v5.15, than you have the new config files. The current lighttpd config uses the original config file (developed by lighttpd - not the one Pi-hole modified) and also uses the /etc/lighttpd/conf-enabled directory.
Apparently you are using the current version.
This means:
/etc/lighttpd/external.conf is not used in this configuration;
you can add extra config files in /etc/lighttpd/conf-enabled directory;
you can change the port directly in /etc/lighttpd/lighttpd.conf or you can override the original port using another file (it's your choice).
Note about operators:
If you are setting the port in /etc/lighttpd/lighttpd.conf, you should use =
If you have a port already set and you want to override the port in another file, you should use :=
About IPv6:
The IPv6 port is set in /etc/lighttpd/lighttpd.conf (it uses the server.port value set on that file):
# default listening port for IPv6 falls back to the IPv4 port
include_shell "/usr/share/lighttpd/use-ipv6.pl " + server.port
include "/etc/lighttpd/conf-enabled/*.conf"
Every other config files are include only after that.
If you are overriding the port in another file, this won't change the IPv6 port.
Suggestions:
change the port directly in /etc/lighttpd/lighttpd.conf(this change will survive Pi-hole updates in newer versions) and remove the new file overriding the port.
Personally, I think this is the cleaner solution.
use your include file, but change the order of those lines to:
include "/etc/lighttpd/conf-enabled/*.conf"
# default listening port for IPv6 falls back to the IPv4 port
include_shell "/usr/share/lighttpd/use-ipv6.pl " + server.port
About IPv6:
The IPv6 port is set in /etc/lighttpd/lighttpd.conf (it uses the server.port value set on that file):
# default listening port for IPv6 falls back to the IPv4 port
include_shell "/usr/share/lighttpd/use-ipv6.pl " + server.port
include "/etc/lighttpd/conf-enabled/*.conf"
Every other config files are include only after that.
If you are overriding the port in another file, this won't change the IPv6 port.
OK this part explains my issue.
I'll just change it in the lighttpd.conf and hope I remember if/when it breaks