Self-hosting: Difference between revisions
see also |
Expanded the page, possibly a bit too much |
||
| Line 1: | Line 1: | ||
{{Incomplete}} | {{Incomplete}} | ||
'''Self-hosting''' is the practice of | '''Self-hosting''' is the practice of implementing digital services with server applications under one's own control. This is opposed to relying on the same service from a popular provider or when only one provider with available with no choice. | ||
== | This is functionally the same method that businesses use for setting up some of their internal tools, such as company chats and internal knowledge bases. 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}} | ||
* [[Cloud]] | 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>. 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. | ||
* [[Local Area Network]] | |||
* [[Right to own]] | 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=http://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/http://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>. | ||
==Use cases== | |||
===Standalone digital services=== | |||
Messaging (such as e-mail, social networks and instant messengers), publishing (blogs, wikis, etc.), most forms of continuous data synchronization between devices and remote access of other devices are examples of services that can provide value to users by themselves, with clients widely available or unnecessary. | |||
Self-hosting such services might be useful for privacy: for those that do not wish for their activity on these services to be transmitted to the internet at all. Self-hosting may also provide additional resilience: the service can remain fully functional in a [[Local area network|local network]] where it's deployed — which is useful in case the internet service provider (ISP) has an outage or if an alternative public service falls under new legal restrictions (e. g. censorship) and becomes inaccessible. | |||
===Digital services for "connected" products=== | |||
Various products in addition to (or instead of) autonomous functioning are increasingly relying on a service elsewhere for some of their features, often marketed as "smart" or "connected". For consumer products the way manufacturers commonly arrange this is through deployment of their own server for the product on their own infrastructure. | |||
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. | |||
==Typical arrangements== | |||
===Consumer-grade PC=== | |||
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]]. | |||
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. | |||
===Server hosting provider=== | |||
Rather than purchasing, configuring, running and maintaining physical hardware, a user can instead delegate most "hardware" aspects of self-hosting to a server hosting provider, which provides almost complete control of a general-purpose computer to a user for a subscription fee. | |||
Control over not just the ''service'' but also the ''platform'' it runs on (the computer) provides the user with significantly more control over data that it processes compared to just using a service hosted by another party. | |||
===Specialized hardware=== | |||
An expensive high-end option that most closely resembles professional setups, with all the perks and downsides of professional setups: professional server hardware is designed to be more reliable and easily serviceable, but also can be very noisy, which may not matter much inside a proper server room or a data center, but for an apartment might be completely unacceptable. | |||
These are commonly set up for services with high hardware requirements or maintained as a hobby by those who'd like to practice business-grade system administration at home. For the vast majority of services this is unnecessary and is sometimes mocked as such<ref>{{Cite web |title=You are all a bunch of sick freaks : selfhosted |url=http://old.reddit.com/r/selfhosted/comments/1igr2l7/you_are_all_a_bunch_of_sick_freaks/ |archive-url=https://selfh.st/sick-freaks/ |archive-date=2025-02-03 |website=Reddit}}</ref>. | |||
==Self-hosted applications relevant to consumer rights== | |||
{{Incomplete section}} | |||
===Home Assistant=== | |||
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> | |||
==Further reading== | |||
*[[Cloud]] | |||
*[[Local Area Network]] | |||
*[[Right to own]] | |||
==References== | ==References== | ||
{{Reflist}} | {{Reflist}} | ||
[[Category:Common terms]] | [[Category:Common terms]] | ||