Domain, yes - you still need one for DNS even fully self-hosted. VPS is the real toggle: your own machine works fine until your ISP rotates your IP or your upload bandwidth caps out under real traffic. Great for personal projects, risky the moment someone else depends on uptime.
Should we even be paying for domains/VPS/company servers when you have your own machine?