Self-hosting: Difference between revisions
Bythmusters (talk | contribs) m http -> https |
m Added archived reference links |
||
| Line 1: | Line 1: | ||
'''Self-hosting''' is the practice of implementing digital services with server applications under one's own control. This is opposed to relying on large public services or [[Cloud (service)|cloud services]]. | '''Self-hosting''' is the practice of implementing digital services with server applications under one's own control. This is opposed to relying on large public services or [[Cloud (service)|cloud services]]. | ||
Self-hosting is typically done for several reasons, including to enable users to have more control over the services they use, or to allow the user to have more control over their privacy<ref>{{Cite web |last=Kehayias |first=John |date=2021-09-02 |title=Meet the Self-Hosters, Taking Back the Internet One Server at a Time |url=https://www.vice.com/en/article/meet-the-self-hosters-taking-back-the-internet-one-server-at-a-time/ |url-status=live |archive-url= |archive-date= |access-date=2025-08-12 |website=VICE}}</ref><ref>{{Cite web |last=Sholly |first=Ethan |date=2025-11-21 |title=2025 Self-Host User Survey Results |url=https://selfh.st/survey/2025-results/ |url-status=live |website=selfh.st}}</ref>. As self-hosting gives the user more control over their data, it is often used by people to avoid companies from using their data in ways the user does not want or consent to. | Self-hosting is typically done for several reasons, including to enable users to have more control over the services they use, or to allow the user to have more control over their privacy<ref>{{Cite web |last=Kehayias |first=John |date=2021-09-02 |title=Meet the Self-Hosters, Taking Back the Internet One Server at a Time |url=https://www.vice.com/en/article/meet-the-self-hosters-taking-back-the-internet-one-server-at-a-time/ |url-status=live |archive-url=https://web.archive.org/web/20240816174958/https://www.vice.com/en/article/meet-the-self-hosters-taking-back-the-internet-one-server-at-a-time/ |archive-date=16 Aug 2024 |access-date=2025-08-12 |website=VICE}}</ref><ref>{{Cite web |last=Sholly |first=Ethan |date=2025-11-21 |title=2025 Self-Host User Survey Results |url=https://selfh.st/survey/2025-results/ |url-status=live |archive-url=https://web.archive.org/web/20251121125437/https://selfh.st/survey/2025-results/ |archive-date=21 Nov 2025 |website=selfh.st}}</ref>. As self-hosting gives the user more control over their data, it is often used by people to avoid companies from using their data in ways the user does not want or consent to. | ||
The term "server" has several popular definitions in computing. Throughout this article it will refer to "a computer program that controls or supplies information to several computers connected in a network"<ref>{{Cite web |title=server (noun) |url=https://www.oxfordlearnersdictionaries.com/definition/english/server |access-date=2025-10-12 |website=Oxford Learner's Dictionaries}}</ref> and not comparably common "hosts that have software installed that enable them to provide information, like email or web pages, to other hosts on the network"<ref>{{Cite web |title=1.1.2.2 Clients and Servers |url=https://cisco.num.edu.mn/CCNA_R&S1/course/module1/1.1.2.2/1.1.2.2.html |url-status=dead |archive-url=https://web.archive.org/web/20240407111300/https://cisco.num.edu.mn/CCNA_R&S1/course/module1/1.1.2.2/1.1.2.2.html |archive-date=2024-04-07 |website=Cisco Networking Academy}}</ref>. | The term "server" has several popular definitions in computing. Throughout this article it will refer to "a computer program that controls or supplies information to several computers connected in a network"<ref>{{Cite web |title=server (noun) |url=https://www.oxfordlearnersdictionaries.com/definition/english/server |archive-url=https://web.archive.org/web/20240424230254/https://www.oxfordlearnersdictionaries.com/definition/english/server |archive-date=24 Apr 2024 |access-date=2025-10-12 |website=Oxford Learner's Dictionaries}}</ref> and not comparably common "hosts that have software installed that enable them to provide information, like email or web pages, to other hosts on the network"<ref>{{Cite web |title=1.1.2.2 Clients and Servers |url=https://cisco.num.edu.mn/CCNA_R&S1/course/module1/1.1.2.2/1.1.2.2.html |url-status=dead |archive-url=https://web.archive.org/web/20240407111300/https://cisco.num.edu.mn/CCNA_R&S1/course/module1/1.1.2.2/1.1.2.2.html |archive-date=2024-04-07 |website=Cisco Networking Academy}}</ref>. | ||
==Origin of the practice== | ==Origin of the practice== | ||
Self-hosting typically refers to usage of digital services '''hosted''' by a person for just themselves (hence the '''self-''' prefix), but they're often made available also to a circle of family and friends, especially services that feature collaboration. Before self-hosting rose to prominence similar installations were typically limited to organizations and housed internal tools, such as company chats and internal knowledge bases.{{Citation needed}} This is still common in organizations, only partially supplanted by [[Software as a service|software-as-a-service (SaaS)]]. | Self-hosting typically refers to usage of digital services '''hosted''' by a person for just themselves (hence the '''self-''' prefix), but they're often made available also to a circle of family and friends, especially services that feature collaboration. Before self-hosting rose to prominence similar installations were typically limited to organizations and housed internal tools, such as company chats and internal knowledge bases.{{Citation needed}} This is still common in organizations, only partially supplanted by [[Software as a service|software-as-a-service (SaaS)]]. | ||
Today, there are numerous free and open-source server applications available to everyone with an internet connection<ref>{{Cite web |title=Free software |url=https://awesome-selfhosted.net/ |website=Awesome-Selfhosted}}</ref>. Companies commonly employ dedicated system administrators to run such applications, due to some specialized knowledge required to set them up. But over the years the amount of knowledge required for this has been reducing, which has allowed more people to install such server applications by themselves.{{Citation needed}} | Today, there are numerous free and open-source server applications available to everyone with an internet connection<ref>{{Cite web |title=Free software |url=https://awesome-selfhosted.net/ |archive-url=https://web.archive.org/web/20260213070029/https://awesome-selfhosted.net/ |archive-date=13 Feb 2026 |website=Awesome-Selfhosted}}</ref>. Companies commonly employ dedicated system administrators to run such applications, due to some specialized knowledge required to set them up. But over the years the amount of knowledge required for this has been reducing, which has allowed more people to install such server applications by themselves.{{Citation needed}} | ||
Because both organizations and self-hosters largely use the same methods and software, most of the same risks and mistakes that companies have to deal with are present in some form in self-hosting as well. What can be configured poorly in a self-hosted setup can be configured poorly in professional installations as well. | Because both organizations and self-hosters largely use the same methods and software, most of the same risks and mistakes that companies have to deal with are present in some form in self-hosting as well. What can be configured poorly in a self-hosted setup can be configured poorly in professional installations as well. | ||
| Line 28: | Line 28: | ||
Most of the time, product manufacturers do not provide controls for users that would allow them to use their own servers. In such cases manufacturers' infrastructure becomes integral to the product and often gives manufacturer complete access to the product post-purchase through software updates, allowing for a number of anti-consumer actions such as [[retroactively amended purchase]] (manufacturer changing the way the product functions) and [[discontinuation bricking]] (manufacturer shutting down their server, reducing functionality of the product or rendering it entirely inoperable). Self-hosting a server for the product makes these practices impossible; however, most of the time it's not officially supported. | Most of the time, product manufacturers do not provide controls for users that would allow them to use their own servers. In such cases manufacturers' infrastructure becomes integral to the product and often gives manufacturer complete access to the product post-purchase through software updates, allowing for a number of anti-consumer actions such as [[retroactively amended purchase]] (manufacturer changing the way the product functions) and [[discontinuation bricking]] (manufacturer shutting down their server, reducing functionality of the product or rendering it entirely inoperable). Self-hosting a server for the product makes these practices impossible; however, most of the time it's not officially supported. | ||
This isn't limited to just physical products, it affects software as well. For instance, [[games as a service]] typically require a server to fully function, and server software for such games is not made available to users, making self-hosting for such games impossible and requiring manufacturer's active involvement in order to maintain full game functionality. There are, however, many multiplayer games, especially older ones, that do support self-hosting of servers through dedicated server software<ref>{{Cite web |title=Dedicated Servers List |url=https://developer.valvesoftware.com/wiki/Dedicated_Servers_List |access-date=2025-10-12 |website=Valve Developer Community}}</ref>, proving that the technology for this already exists. | This isn't limited to just physical products, it affects software as well. For instance, [[games as a service]] typically require a server to fully function, and server software for such games is not made available to users, making self-hosting for such games impossible and requiring manufacturer's active involvement in order to maintain full game functionality. There are, however, many multiplayer games, especially older ones, that do support self-hosting of servers through dedicated server software<ref>{{Cite web |title=Dedicated Servers List |url=https://developer.valvesoftware.com/wiki/Dedicated_Servers_List |archive-url=https://web.archive.org/web/20260116200846/https://developer.valvesoftware.com/wiki/Dedicated_Servers_List |archive-date=16 Jan 2026 |access-date=2025-10-12 |website=Valve Developer Community}}</ref>, proving that the technology for this already exists. | ||
==Typical arrangements== | ==Typical arrangements== | ||
| Line 35: | Line 35: | ||
A lot of server software is capable of running on "normal" (consumer-grade) computers as well. So it is common to start self-hosting by installing server software on an unused computer that can be run continuously or whenever access to its services may be needed. | A lot of server software is capable of running on "normal" (consumer-grade) computers as well. So it is common to start self-hosting by installing server software on an unused computer that can be run continuously or whenever access to its services may be needed. | ||
Because private servers are typically used by only a few users in practice, hardware requirements for some of the most popular services can be meager<ref>{{Cite web |title=System Requirements |url=https://docs.nextcloud.com/server/stable/admin_manual/installation/system_requirements.html |access-date=2025-10-12 |website=Nextcloud Administration Manual}}</ref><ref>{{Cite web |title=FAQ - Docker Mailserver |url=https://docker-mailserver.github.io/docker-mailserver/latest/faq/#what-are-the-system-requirements |access-date=2025-10-12 |website=Docker-mailserver}}</ref> and can be satisfied by very old computers, which can be seen as a step towards [[circular economy]]. | Because private servers are typically used by only a few users in practice, hardware requirements for some of the most popular services can be meager<ref>{{Cite web |title=System Requirements |url=https://docs.nextcloud.com/server/stable/admin_manual/installation/system_requirements.html |archive-url=https://web.archive.org/web/20251115134906/https://docs.nextcloud.com/server/stable/admin_manual/installation/system_requirements.html |archive-date=15 Nov 2025 |access-date=2025-10-12 |website=Nextcloud Administration Manual}}</ref><ref>{{Cite web |title=FAQ - Docker Mailserver |url=https://docker-mailserver.github.io/docker-mailserver/latest/faq/#what-are-the-system-requirements |archive-url=https://web.archive.org/web/20251014171111/https://docker-mailserver.github.io/docker-mailserver/latest/faq/#what-are-the-system-requirements |archive-date=14 Oct 2025 |access-date=2025-10-12 |website=Docker-mailserver}}</ref> and can be satisfied by very old computers, which can be seen as a step towards [[circular economy]]. | ||
Software-wise, depending on requirements and the level of technical expertise, one might opt for a generic server OS such as [https://www.debian.org/ Debian] or [https://ubuntu.com/server Ubuntu Server] for a more do-it-yourself experience, or an OS purpose-built for self-hosting such as [https://yunohost.org/ YunoHost] which guides its users through some of the complexities of the process. | Software-wise, depending on requirements and the level of technical expertise, one might opt for a generic server OS such as [https://www.debian.org/ Debian] or [https://ubuntu.com/server Ubuntu Server] for a more do-it-yourself experience, or an OS purpose-built for self-hosting such as [https://yunohost.org/ YunoHost] which guides its users through some of the complexities of the process. | ||
===Network-attached storage (NAS)=== | ===Network-attached storage (NAS)=== | ||
Companies such as [[Synology]], [[QNap|QNAP]], [[UGreen|UGREEN]] and others offer commercial hardware products called NAS (Network Attached Storage) that expose disks to a network for shared access to files on them<ref>{{Cite web |last=Susnjara |first=Stephanie |last2=Smalley |first2=Ian |title=What is network attached storage (NAS)? |url=https://www.ibm.com/think/topics/network-attached-storage |url-status=live |access-date=2025-11-22 |website=IBM |series=Think}}</ref> in form of a "network drive", "file share" or "shared folder". As an additional function, many such devices can also run server software, and may even offer user-friendly graphical interfaces for this out-of-the-box. | Companies such as [[Synology]], [[QNap|QNAP]], [[UGreen|UGREEN]] and others offer commercial hardware products called NAS (Network Attached Storage) that expose disks to a network for shared access to files on them<ref>{{Cite web |last=Susnjara |first=Stephanie |last2=Smalley |first2=Ian |title=What is network attached storage (NAS)? |url=https://www.ibm.com/think/topics/network-attached-storage |url-status=live |archive-url=https://archive.ph/WtS5x |archive-date=14 Feb 2026 |access-date=2025-11-22 |website=IBM |series=Think}}</ref> in form of a "network drive", "file share" or "shared folder". As an additional function, many such devices can also run server software, and may even offer user-friendly graphical interfaces for this out-of-the-box. | ||
Such devices are typically optimized for file management, and applications using the files stored by a NAS are expected to run on ''other'' devices on the same network (e. g. a PC running heavy video editing software utilizing video files stored on a NAS). As such, NAS devices, especially budget ones, often do not have much capacity for server applications. For a small number of users, however, as is common in self-hosting, they can be sufficient. | Such devices are typically optimized for file management, and applications using the files stored by a NAS are expected to run on ''other'' devices on the same network (e. g. a PC running heavy video editing software utilizing video files stored on a NAS). As such, NAS devices, especially budget ones, often do not have much capacity for server applications. For a small number of users, however, as is common in self-hosting, they can be sufficient. | ||
| Line 62: | Line 62: | ||
One of the most prominent free & open source projects in self-hosted home automation space. | One of the most prominent free & open source projects in self-hosted home automation space. | ||
Because it provides an unofficial self-hosted interface to and between "connected" products of many brands, it prominently announces anti-consumer actions by supported brands aimed at reducing or disabling that capability, bringing them to attention. Some vendors reconsider their plans afterwards, providing alternative solutions or entirely cancelling their plans for such changes, which Home Assistant reflects in their announcement posts as well.<ref>{{Cite web |date=2018-12-17 |title=Logitech Harmony removes local API |url=https://www.home-assistant.io/blog/2018/12/17/logitech-harmony-removes-local-api/ |access-date= |website=Home Assistant}}</ref><ref>{{Cite web |date=2020-11-23 |title=TP-Link offers way to add local API back |url=https://www.home-assistant.io/blog/2020/11/23/tplink-local-access/ |website=Home Assistant}}</ref><ref>{{Cite web |date=2023-10-13 |title=Removal of Mazda Connected Services integration |url=https://www.home-assistant.io/blog/2023/10/13/removal-of-mazda-connected-services-integration/ |access-date= |website=Home Assistant}}</ref> | Because it provides an unofficial self-hosted interface to and between "connected" products of many brands, it prominently announces anti-consumer actions by supported brands aimed at reducing or disabling that capability, bringing them to attention. Some vendors reconsider their plans afterwards, providing alternative solutions or entirely cancelling their plans for such changes, which Home Assistant reflects in their announcement posts as well.<ref>{{Cite web |date=2018-12-17 |title=Logitech Harmony removes local API |url=https://www.home-assistant.io/blog/2018/12/17/logitech-harmony-removes-local-api/ |archive-url=https://web.archive.org/web/20190915093907/https://www.home-assistant.io/blog/2018/12/17/logitech-harmony-removes-local-api/ |archive-date=15 Sep 2019 |access-date= |website=Home Assistant}}</ref><ref>{{Cite web |date=2020-11-23 |title=TP-Link offers way to add local API back |url=https://www.home-assistant.io/blog/2020/11/23/tplink-local-access/ |archive-url=https://web.archive.org/web/20201124190144/https://www.home-assistant.io/blog/2020/11/23/tplink-local-access/ |archive-date=24 Nov 2020 |website=Home Assistant}}</ref><ref>{{Cite web |date=2023-10-13 |title=Removal of Mazda Connected Services integration |url=https://www.home-assistant.io/blog/2023/10/13/removal-of-mazda-connected-services-integration/ |archive-url=https://web.archive.org/web/20231013215225/https://www.home-assistant.io/blog/2023/10/13/removal-of-mazda-connected-services-integration/ |archive-date=13 Oct 2023 |access-date= |website=Home Assistant}}</ref> | ||
Counters consumer rights issues such as [[discontinuation bricking]], [[retroactive policy enforcement]] and [[post-purchase EULA modification]], mostly in regards to "connected" devices and smart homes. | Counters consumer rights issues such as [[discontinuation bricking]], [[retroactive policy enforcement]] and [[post-purchase EULA modification]], mostly in regards to "connected" devices and smart homes. | ||