I can second Dokku, though haven't used CapRover. Dokku has its quirks but it has served me well in the past two years.
Would love to pick your brain as to what our quirks are and how we might avoid them in the future. Feel free to hit up the `@dokku` twitter account, catch us on the gliderlabs slack (https://glider-slackin.herokuapp.com), or even provide feedback in the Discussions section of the primary Github repository (https://github.com/dokku/dokku/discussions).