If you want to support PeerTube, you can <a target="_blank" rel="noreferrer noopener" href="https://soutenir.framasoft.org/en">support Framasoft with a donation</a>, but also by helping others to discover and <a target="_blank" rel="noreferrer noopener" href="https://joinpeertube.org/">learn more about PeerTube</a> and our projects: sharing is caring!
Except for video transcoding, a PeerTube instance is not CPU bound. Neither Nginx, PeerTube itself, PostgreSQL nor Redis require a lot of computing power. If it were only for those, one could easily get by with just one thread/vCPU.
You will hugely benefit from at least a second thread though, because of transcoding. Transcoding is very cpu intensive. It serves two purposes on a PeerTube instance: it ensures all videos can be played optimally in the web interface, and it generates different resolutions for the same video. PeerTube support for offloading transcoding to other machines is <a target="_blank" rel="noopener noreferrer" href="https://github.com/Chocobozzz/PeerTube/issues/947">being discussed</a>, but not yet implemented.
1/2 GB of RAM should be plenty for a basic PeerTube instance, which usually takes at most 150 MB in RAM. The only reason you might want more would be if you colocate your Redis or PostgreSQL services on a non-SSD system.
In early August we finalized the work on the moderation tools: accounts and comments reporting, improving the administration and moderation interface, reporting logs, messages between the moderation team and the reporter…
There are two important angles to storage: disk space usage and sustained read speed. To make a rough estimate of your disk space usage requirements, you want to know the answer to three questions: