Also, is it a good idea to host so many services, both publically-accessible websites as well as services only available on my home network, from the same machine? What are the security considerations when self-hosting?
Generally speaking - no, it is not a good idea. It is definitely doable, but not very wise from security perspective.
Vulnerabilities in the public facing services are also threats to your private services, because the attacker that leverages exploit in public service potentially gains access to your home network and machine.
A lot can be done using proper separation of applications (separate internal networks, virtual machines, containers etc) but a single mistake can cost you a lot.
Shouldn’t this solution ncome with some performance hit?