I (my company) use a similar approach: a single dedicated server with docker containers, by using dokku [0], for an heroku-like self-hosted PaaS.
Most of our applications are either:
- app developped in-house (django/flask): Procfile + deploy with git push
- standard app with a docker image available: deploy directly
Dokku comes with useful "service" plugins for databases, auto https (letsencrypt), virtual hosts... Overall, a good experience.