I did this for a while. However, after subscribing to several groups, there was constant disk activity and it ate network bandwidth. After two months I’ve stopped my server and went back to using a public instance.
Sure. It's constantly pulling all the posts, comments and likes from potentially hundreds of instances and writing it to it's database to make it accessible to you once you decide to open Lemmy. It'll get updates from the network every few seconds (unless all the Americans are asleep) and that'll cause some database operations on your side.
Concerning the requirements: You'll need some form of server, and probably a domain name. If you're doing it at home, make sure you have a proper IP address and can forward ports. I run a Piefed instance, not Lemmy. It uses a few hundreds of megabytes of RAM and a bit of CPU and disk. It doesn't cache media files as Lemmy does so I can't comment on the storage size. It's 3GB for me.
I didn’t notice any big drops in network or CPU performance. Usually, because other network traffic had priority. But my server’s HDD constantly rattling along got me thinking that it wasn’t worth it. There are several other containers running on that box and I don’t have that much HDD activity with them.
There are postgres settings to reduce disk writes. There's a max size and a timeout to write to disk. By default these values are on the lower end I believe.