What do I need to have in order to run my own instance?
The documentation give clear instructions for installing and setting up a Lemmy instance, but it doesn't really tell me what I need to do so beyond the implication that I need some computer running Linux.
I have a QNAP NAS device which is running a flavor of linux; how much storage space is recommended for a public instance? Do I need my own website?
You primarily need Docker, specifically (unless you want to set it all up by hand) Docker Compose. All installation options for Lemmy utilize Docker to host the components (db, API, UI, etc.). Depending if you go the Ansible or Docker/manual route you will need Nginx as well.
You will need disk space to store content (including pictures). The CPU/RAM needs are super low unless you have a lot of people on your instance.
You will need a domain for federation to work (like my instance is at lemmy.wizjenkins.com).
Lastly you will need an SSL certificate but Lemmy can generate this for you assuming you have your domain pointed to your server before you start everything up.
I'm not familiar with QNAP but generally NAS servers don't support Docker Compose so you might be better off with a raspberry pi or VM or something.
EKS also seems like a good option here. I was actually just looking into the exact same question OP asked and I'm thinking about getting one up and running on EKS to take advantage of Autoscaling Groups
If you're hosting QNAP at home, you'll need to setup the port forwards to allow outside access and point your domain to it. That might not be allowed by your ISP.
Lemmy is lite on resource usage. For space, it really depends on how much content you sync in, or directly upload. For reference, my own Lemmy instance is using 7.4GB of space after being active for two months.