Self-hosting tools on a home server is usually the starting point for every beginner. As you mature in the journey, you find that hosting most of the tools as Docker containers. There are multiple upsides to this approach because you can isolate services from each other and manage them independently. However, it becomes an uphill task to manage everything after you set up a dozen or more services on the server.