Self-hosting is the practice of running and maintaining a website or service, as well as own servers for e-mail, IM, NTP and so on, using a private server, instead of using a service outside of the administrator's own control. Self-hosting allows users to have more control over their data, privacy, and computing infrastructure, as well as potentially saving costs and improving skills. [1] [2]
The practice of self-hosting web services became more feasible with the development of cloud computing and virtualization technologies, which enabled users to run their own servers on remote hardware or virtual machines. The first public cloud service, Amazon Web Services (AWS), was launched in 2006, offering Simple Storage Service (S3) and Elastic Compute Cloud (EC2) as its initial products. [3]
Self-hosting web services became more popular with the rise of free and open-source software projects, which provide alternatives to various web-based services and applications, such as file storage, password management, media streaming, home automation, and more. There is also a sizeable hobbyist community around self-hosting, made up of hobbyists, technology professionals and privacy-conscious individuals. [2] [4]
| Software class | Non-selfhosted examples | Self-hosted alternatives |
|---|---|---|
| Password managers | 1Password, LastPass | Bitwarden |
| Home automation | Apple Home, Google Home | Home Assistant |
| Bookmarks | del.icio.us | Linkwarden |
| Read it later | Instapaper | Wallabag, Readeck |
| Messaging | WhatsApp, Discord, Viber, Telegram | XMPP, IRC, Matrix |
| Office suite | Google Docs | Nextcloud, ownCloud |
| Note-taking | Evernote | Joplin |
| Photos | Google Photos | Immich |
| Calendar | Google Calendar |
Self-hosting software often allows a user greater customization over their software experience compared to solutions in the cloud. For example, Jellyfin has many add-ons allowing for new types of program information, interfaces, subtitles and other features that are not available on commercial streaming services. [5] A self-hosted RSS reader can help a user control their own source of news, rather than be reliant on a corporation's algorithm to deliver their news. [6] This degree of control can make self-hosted software more resistant to enshittification. [7]
Self-hosted services are usually more privacy-respecting because the user is hosting the data on hardware under their control, meaning that a for-profit company will not be able to leverage that data to generate revenue from targeted ads or similar strategies. The fact that the data does not leave the premises where it is stored also means the user may be less susceptible to mass surveillance, such as by hosting personal photographs on Immich to avoid those personal data being accessible to Google on Google Photos. [7]
While some self-hosted software solutions offer subscriptions to support their development, many are distributed via open-source repositories. This can allow a user to save money over the long term, [7] such as by using Nextcloud to avoid subscriptions for cloud storage which often increase over time.
While self-hosting can save money in some aspects, it also involves requires costs, such as for the computing hardware itself, but also the electricity costs, which some advanced users have noted can be unexpectedly high. [8] [9] If users access their self-hosted services on a domain they own, there is usually a cost involved in registering the domain.
Performance can be slower on self-hosted hardware, particularly if attempting to host on under-powered devices such as single-board computers like Raspberry Pi, which can struggle to run intensive processes involved in speech-to-text algorithms, video encoding and similar applications. [10]
Security must be considered when self-hosting software exposed to the public internet. Making resources on a home network remotely accessible usually involves port forwarding, setting up encryption methods like HTTPS, and other networking approaches which if not configured correctly, could become an attack surface for hackers and thieves. [11] It is also recommended to back up any self-hosted data to a second location, potentially offsite, to ensure all data isn't lost in case of a fire, flood or other disaster that could destroy hardware in a home. [12]
Self-hosting software often has a steeper learning curve than competing software because of the need to learn about computer networking, security, and software configuration on environments such as Linux and the command line. This can require more time investment than paid alternatives. [8]