It seems like the first step in “self-hosting” has always been to just buy a USB disk drive to make copies of important data from desktop and laptop computers. Although this does not really appear to be any kind of “hosting” activity, the immediate follow-on is normally to utilize a network based disk drive which allows all the users to access the files on it simultaneously.
This is referred to as Network Attached Storage (NAS). A NAS can be anything from a single network based disk drive to several drives hosted on a larger computer in a more highly available RAID set. Several companies sell storage like this for Small Office and Home Office (SOHO) solutions.
What you may not know is that NAS devices often can provide self-hosted solutions like a web site, a music server, or a video server. Two of the most common SOHO vendors of NAS devices are QNAP and Synology.
I am going to focus on QNAP. QNAP has a web based desktop GUI called QTS which allows for the management of the device including the allocation of storage and user accounts to meet the requirements of the task at hand.
QNAP also allows for the installation of applications on its desktop which are both QNAP provided and third-party created. These applications are delivered in QPKG files which are not unlike a Windows WISE installation package. The QPKG mechanism relies upon containerized storage in order to store and run applications.
QNAP has an application called Container Station and it allows for the creation of both Docker and LXC containers to run virtualized applications. In addition, an application called Virtualization Station allows for the creation and running of Virtual Machines which virtualize the hardware and the operating system in order to host applications.
Between QPKGs, LXC containers, Docker Containers and QPKGs, a QNAP NAS can host a wide variety of applications in a self-hosted local area network (LAN). The primary reason to self-host is that all of your data is under your control and their is no recurring cost for cloud based storage and processor power with solutions such as Amazon AWS, Microsoft Azure, Microsoft One Drive, Google Drive/Cloud, Digital Ocean, Linode and others.
My primary self-hosted applications are a Plex media server and the QVR Pro Network Video Recorder. I also have my own website, a php community bulletin board and a discourse server. I also have a Jitsi Server which is a self-hosted alternative to Zoom Meetings.
I have a private network web-based menu via a program called Heimdall. The name Heimdall is an adaptation from Norse mythology and the etymology of the name appears to be “the one who illuminates the world” and therefore Heimdall provides a top-down view of most of my primary services on my network without having to constantly sift through browser bookmarks.
Heimdall is implemented as a Docker container in Container Station. Here is my Heimdall web page.
Heimdall lets me launch any of my applications by simply clicking on them. Another application that I use is “Monitorr”. Monitor is a php web page that I installed through a QPKG which actively monitors all of my web based applications and notifies me if any are offline. Here is my Monitor page.