I started to self host my own personal website last year and found it relatively easy. I may have been somewhat lucky with my ISP and that I was already paying for a static IP but the hardest part was setting up cloudflare to mask my IP (and learning how to setup a Linux VM from scratch).