I run everything in docker.
It simplifies dependencies, network security, and most importantly versioning.
imo docker and kubernetes are the only virtualization that still have a good reason to exist.
With docker + caddy (which itself is running in docker, with a docker plugin for automatic reverse proxy) I have six services running on one beefy server. Some of those services need a specific version of a database engine or node. It’s no issue with docker.
At some point one of those services will need to be moved to another server due to traffic demands. Thats easy with docker. (kubernetes would do this automatically, but i’m not there yet) I’ll move one folder with all the state and run docker compose on the new server and be done.
I wasn’t a believer until this year, but docker does indeed solve some problems, and it has been very helpful.