I have a ton to say here, but I'll keep it to a few point. Tor onion services solve the setup-your-own-server issues, it's just not super easy yet. IPFS is needed regardless, because there is a need to distribute things when your machine isn't up and to solve discovery. What IPFS doesn't have natively is anonymity (tho there are onion transports conforming to libp2p transport iface) and distributed compute, but neither is that important.