The only “hard” requirement is a relatively modern Python 3. For best results, as of this writing that should be 3.6+ although generally speaking, the newer the better.
However in most cases you will want a database to accompany your app, in which case PostgreSQL becomes a “hard” requirement as well. There are no known version limitations here, so install whichever is most practical for you.
Note that the PostgreSQL service need not be installed on the same machine as your app. Your app will interact with PostgreSQL using TCP/IP so it just needs to live on your network.
You should also know that more attention by far has been given to Linux over the years. We’ll try to ensure this manual works for Windows too but FYI that it’s possible we miss something. Thus far all production installs are done on Debian or Ubuntu Linux so if you can use those then your experience may be better.