I self-host a lot of things. Primarily because it is interesting and gives a lot more flexibility/privacy compared to online alternatives. For example, I run:
- Prometheus + Grafana for monitoring various statistics
- Matrix (/element) to send private notifications to/from my server/phone
- Gitea server including automated build/deployment
Most services are accessible through an NGINX reverse-proxy, usually behind a Authelia security layer.
I have also hosted various game servers, including a custom web-GUI to change settings and start/stop the game server. This was done so less-Linux-inclined friends can manage the game themselves. This web-GUI uses Angular and WebSockets to communicate with a C++ program that runs on the server.
All these services are running in Docker on my Ubuntu server.