A directory called “git” with a bunch of bare repos accessed over ssh. You don’t need to make this complicated.
It’s not a direct equivalent to pull requests because it lacks all of the easy history, inline commenting, comment status tracking, and ease of use, among other things.