You should never open up the API port (5001 by default) to the internet. Doing that, any data stored on your node can be removed, anyone can get copies of all your IPFS keys, etc.. and you basically give random internet goers full control over your node. You could open up the gateway port (8080 by default), but never open up the API port.
That aside, there is nothing special that must be done to participate in the network. Just launch your node, make sure you have peers, and realistically that's all that needs to be done. If you want to take it a step further, you can become a circuit relay hop, and a couple other cool stuff.
One thing I would suggest, is that you update
PubSub.Router to be set to
gossipsub. Additionally, when launching your node you might want to enable ipns pubsub with the command-line flag
In terms of physical resources needed, you can technically run an IPFS node on a Raspberry Pi. So it's really about what your budget is, and how much you want to spend on running an IPFS node.
To take it a step further, you can spin up multiple IPFS nodes and join them together via ipfs-cluster to ensure any data pinned on your node is replicated across multiple hosts.
If you want to monitor your nodes, my personal prefferrence is using Zabbix. I've got a couple neat tools for Zabbix to monitor IPFS, and IPFS Cluster nodes.
Zabbix Config File
IPFS Cluster Monitor Script
IPFS Monitor Script