Self Hosting is a terminology defined for integrating all the required applications for a purpose together. To understand the concept you can think of a dynamic website that talks to some API over the internet in order to generate the desired output. In this scenario the Web Server is apart from API Server which is at a different location whereas, Self-Hosting is just about keeping all the services running at one place in integrated way. It means, the Web Server and API Server both are situated at the same place talking to each other at the same endpoint.
It’s only a simple example as you can go further and imagine of having any software compilation done and tested together at the same moment.
Self hosting is the act of having your website totally under your control. This can include you managing all whole aspects of it, from setting up the web server to installing software.