Welcome to the cult!
We all started as beginners, but before you start, take my advice and avoid hosting anything open to the internet until you’ve gained more experience in OS/network hardening and risk assessment.
First off, I think you’re starting on a good footing. Having TCP/IP knowlege is good, but you don’t need it from the beginning - it will be relevant once you get into network segmentation and setting up reverse proxies.
I’d say the first thing is to actually choose a rather simple (but useful) application that you can host on Docker and get some experience from OCI-containers and disaster recovery. A lemmy instance (even non federated) might be too much to begin with. Have you considered paperless-ngx, fresh-rss or even syncthing instead? Or begin with formulating what problem you want solved in your daily life.
I’d say, start by watching this video series to gain a better understanding of Docker (I’ve so far assumed that you won’t do baremetal installs, right?!??). There’s also a pretty good online-lab for you to play around in. Remember, you’ll propably realise that your first deployments could be better, and keep yourself mentally prepared to redo and rebuild eventually.
Feel free to message me if you want guidance going forward!
Is there a decent tutorial on how to get it up and running on standard services such as systemd events, fail2ban etc? There is no quick start guide on their site.