I hope someone else can pitch in with a more indepth instructions, but two things I wanted to mention:

First, forget about hosting your own email from home. Seriously. Even those who do it professionally don’t want to deal with that at home. You’ll find people on fediverse who do it but I’m sure plenty will give you this same recommendation/warning. It’s a huge hassle and it’s so easy to get your domain blocked/ending up on a blacklist and way harder to get out of it.

Second, I can personally recommend linuxupskillchallenge.org if you are really starting from scratch ( there’s a community here: [email protected] ). This is how I started and set up my own linux server and started self hosting stuff on it. It’s really basic and won’t teach you everything you need but it’s a great start for setting up your own server. You can do everything with a local server at home that you have set up.

Linux Upskill Challenge - Linux Upskill Challenge

A month-long course aimed at those who aspire to get Linux-related jobs in the industry - junior Linux sysadmin, DevOps-related work, and similar. Learn the skills required to sysadmin a remote Linux server from the commandline.

Oh shit that first link is exactly something I’ve wanted for years. I’ve been linuxing from gui for a while and would like to know more, especially as I fuck around with my home server
Do it, 100% worth it! Also has some extra stuff for already-experienced users if it gets too easy :)