Home server

Last updated

A home server is a computing server located in a private computing residence providing services to other devices inside or outside the household through a home network or the Internet. Such services may include file and printer serving, media center serving, home automation control, web serving (on the network or Internet), web caching, file sharing and synchronization, video surveillance and digital video recorder, calendar and contact sharing and synchronization, account authentication, and backup services. In the recent times, it has become very common to run literally hundreds of applications as containers, isolated from the host operating system. [1]

Contents

Because of the relatively low number of computers on a typical home network, a home server commonly does not require significant computing power. Home servers can be implemented do-it-yourself style with a re-purposed, older computer, or a plug computer; pre-configured commercial home server appliances are also available. An uninterruptible power supply is sometimes used in case of power outages that can possibly corrupt data.

Services provided by home servers

Administration and configuration

Home servers often run headless, and can be administered remotely through a command shell, or graphically through a remote desktop system such as RDP, VNC, Webmin, Apple Remote Desktop, or many others.

Some home server operating systems (such as Windows Home Server) include a consumer-focused graphical user interface (GUI) for setup and configuration that is available on home computers on the home network (and remotely over the Internet via remote access). Others simply enable users to use native operating system tools for configuration.

Centralized storage

Home servers often act as network-attached storage (NAS) providing the major benefit that all users' files can be centrally and securely stored, with flexible permissions applied to them. Such files can be easily accessed from any other system on the network, provided the correct credentials are supplied. This also applies to shared printers.

Such files can also be shared over the Internet to be accessible from anywhere in the world using remote access.

Servers running Unix or Linux with the free Samba suite (or certain Windows Server products - Windows Home Server excluded) can provide domain control, custom logon scripts, and roaming profiles to users of certain versions of Windows. [2] This allows a user to log on from any machine in the domain and have access to their "Documents" folder and personalized Windows and application preferences - multiple accounts on each computer in the home are not needed.

Media serving

Home servers are often used to serve multi-media content, including photos, music, and video to other devices in the household (and even to the Internet; see Space shifting, Tonido and Orb). Using standard protocols such as DLNA or proprietary systems such as iTunes, users can access their media stored on the home server from any room in the house. Windows XP Media Center Edition, Windows Vista, and Windows 7 can act as a home server, supporting a particular type of media serving that streams the interactive user experience to Media Center Extenders including the Xbox 360.

A typical MythTV menu MythTV-main menu.png
A typical MythTV menu

Windows Home Server supports media streaming to Xbox 360 and other DLNA-based media receivers via the built-in Windows Media Connect technology. Some Windows Home Server device manufacturers, such as HP, extend this functionality with a full DLNA implementation such as PacketVideo TwonkyMedia server.

There are many open-source and fully functional programs for media serving available for Linux. LinuxMCE is one example, which allows other devices to boot off a hard drive image on the server, allowing them to become appliances such as set-top boxes. Asterisk, Xine, MythTV (another media serving solution), VideoLAN, SlimServer, DLNA, and many other open-source projects are fully integrated for a seamless home theater/automation/telephony experience.

On an Apple Macintosh server, options include iTunes, PS3 Media Server, and Elgato. Additionally, for Macs directly connected to TVs, Boxee can act as a full-featured media center interface.

Servers are typically always on so the addition of a TV or radio tuner allows recording to be scheduled at any time.

These services such as Windows Home Server have become significantly less popular in favour of services such as Plex and Jellyfin. These services allow users to store their media on a NAS and stream and sometimes download it to devices within the network and optionally to devices outside the network. These services automatically sort users media and find metadata and sometimes subtitles. They also track and remember users progress within a movie or series so they can continue from where they left off. [3] [4]

These services can be criticised for catering to pirates by allowing them to easily manage and view their illegally obtained media. [5]

Remote access

The Webmin Interface as it would appear in a standard web browser Webmin1dot290.jpg
The Webmin Interface as it would appear in a standard web browser

A home server can be used to provide remote access into the home from devices on the Internet, using remote desktop software and other remote administration software. For example, Windows Home Server provides remote access to files stored on the home server via a web interface as well as remote access to Remote Desktop sessions on PCs in the house. Similarly, Tonido provides direct access via a web browser from the Internet without requiring any port forwarding or other setup. Some enthusiasts often use VPN technologies as well.

On a Linux server, two popular tools are (among many) VNC and Webmin. VNC allows clients to remotely view a server GUI desktop as if the user was physically sitting in front of the server. A GUI need not be running on the server console for this to occur; there can be multiple 'virtual' desktop environments open at the same time. Webmin allows users to control many aspects of server configuration and maintenance all from a simple web interface. Both can be configured to be accessed from anywhere on the Internet.

Servers can also be accessed remotely using the command line-based Telnet and SSH protocols.

Web serving

Some users choose to run a web server in order to share files easily and publicly (or privately, on the home network). Others set up web pages and serve them straight from their home, although this may be in violation of some ISPs terms of service. Sometimes these web servers are run on a nonstandard port in order to avoid the ISP's port blocking. Example web servers used on home servers include Apache and IIS.

Web proxy

Some networks have an HTTP proxy which can be used to speed up web access when multiple users visit the same websites, and to get past blocking software while the owner is using the network of some institution that might block certain sites. Public proxies are often slow and unreliable and so it is worth the trouble of setting up one's own private proxy.

Some proxies can be configured to block websites on the local network if it is set up as a transparent proxy.

E-mail

Many home servers also run e-mail servers that handle e-mail for the owner's domain name. The advantages are having much bigger mailboxes and maximum message size than most commercial e-mail services. Access to the server, since it is on the local network is much faster than using an external service. This also increases security as e-mails do not reside on an off-site server.

BitTorrent

Home servers are ideal for utilizing the BitTorrent protocol for downloading and seeding files as some torrents can take days, or even weeks to complete and perform better on an uninterrupted connection. There are many text based clients such as rTorrent and web-based ones such as TorrentFlux and Tonido available for this purpose. BitTorrent also makes it easier for those with limited bandwidth to distribute large files over the Internet.

Gopher

An unusual service is the Gopher protocol, a hypertext document retrieval protocol which pre-dated the World Wide Web and was popular in the early 1990s. Many of the remaining gopher servers are run off home servers utilizing PyGopherd and the Bucktooth gopher server.[ citation needed ]

Home automation

Home automation frequently relies on continuously operational devices for effective control and management. While traditional home servers have been instrumental in this area, the emergence and increasing use of Raspberry Pi and other Single Board Computers (SBCs) have become prominent. These devices, notably the Raspberry Pi, offer a flexible platform for running home automation software such as Gladys and Home Assistant. This shift towards SBC-based solutions has made home automation more accessible and cost-efficient, allowing a broader range of users to seamlessly control and integrate various smart home devices, thereby enhancing the overall functionality and convenience of their home automation systems.

Security monitoring

Relatively low cost CCTV DVR solutions are available that allow recording of video cameras to a home server for security purposes. The video can then be viewed on PCs or other devices in the house.

A series of cheap USB-based webcams can be connected to a home server as a makeshift CCTV system. Optionally these images and video streams can be made available over the Internet using standard protocols.

Family applications

Home servers can act as a host to family-oriented applications such as a family calendar, to-do lists, and message boards.

IRC and instant messaging

Because a server is always on, an IRC client or IM client running on it will be highly available to the Internet. This way, the chat client will be able to record activity that occurs even while the user is not at the computer, e.g. asleep or at work or school. Textual clients such as Irssi and tmsnc can be detached using GNU Screen for example, and graphical clients such as Pidgin can be detached using xmove. Quassel provides a specific version for this kind of use. Home servers can also be used to run personal XMPP servers and IRC servers as these protocols can support a large number of users on very little bandwidth.

Online gaming

Some multiplayer games such as Continuum, Tremulous, Minecraft, and Doom have server software available which users may download and use to run their own private game server. Some of these servers are password protected, so only a selected group of people such as clan members or whitelisted players can gain access to the server. Others are open for public use and may move to colocation or other forms of paid hosting if they gain a large number of players.

Federated social networks

Home servers can be used to host distributed federated social networks like Diaspora and GNU Social. Federation protocols like ActivityPub allow many small home servers to interact in a meaningful way and give the perception of being on a large traditional social network. Federation is not just limited to social networks. Many innovative new free software web services are being developed that can allow people to host their own videos, photos, blogs etc. and still participate in the larger federated networks.

Third-party platform

Home servers often are platforms that enable third-party products to be built and added over time. For example, Windows Home Server provides a Software Development Kit. [6] Similarly, Tonido provides an application platform that can be extended by writing new applications using their SDK.

Operating systems

Home servers run many different operating systems. Enthusiasts who build their own home servers can use whatever OS is conveniently available or familiar to them, such as Linux, Microsoft Windows, BSD, Solaris or Plan 9 from Bell Labs.

Hardware

Single-board computers are increasingly being used to power home servers, with many of them being ARM devices. Old desktop and laptop computers [7] can also be re-purposed to be used as home servers.

Mobile phones are typically just as powerful as ARM-based single board computers. Once mobile phones can run the Linux operating system, self-hosting might move to mobile devices with each person's data and services being served from their own mobile phone.

See also

Server definitions

Operating systems

Products

Technologies

Media serving software

Server software

Home networking

Related Research Articles

<span class="mw-page-title-main">X Window System</span> Windowing system for bitmap displays on UNIX-like systems

The X Window System is a windowing system for bitmap displays, common on Unix-like operating systems.

<span class="mw-page-title-main">Virtual Network Computing</span> Graphical desktop-sharing system

Virtual Network Computing (VNC) is a graphical desktop-sharing system that uses the Remote Frame Buffer protocol (RFB) to remotely control another computer. It transmits the keyboard and mouse input from one computer to another, relaying the graphical-screen updates, over a network.

RealVNC is a company that provides remote access software. Their VNC Connect software consists of a server and client application, which exchange data over the RFB protocol to allow the Viewer to control the Server's screen remotely. The application is used, for example, by IT support engineers to provide helpdesk services to remote users.

Linux Terminal Server Project (LTSP) is a free and open-source terminal server for Linux that allows many people to simultaneously use the same computer. Applications run on the server with a terminal known as a thin client handling input and output. Generally, terminals are low-powered, lack a hard disk and are quieter and more reliable than desktop computers because they do not have any moving parts.

x11vnc is a Virtual Network Computing (VNC) server program. It allows remote access from a remote client to a computer hosting an X Window session and the x11vnc software, continuously polling the X server's frame buffer for changes. This allows the user to control their X11 desktop from a remote computer either on the user's own network, or from over the Internet as if the user were sitting in front of it. x11vnc can also poll non-X11 frame buffer devices, such as webcams or TV tuner cards, iPAQ, Neuros OSD, the Linux console, and the Mac OS X graphics display. x11vnc is part of the LibVNCServer project and is free software available under the GNU General Public License. x11vnc was written by Karl Runge.

NX technology, commonly known as NX or NoMachine, is a remote access and remote control computer software allowing remote desktop access and maintenance of computers. It is developed by the Luxembourg-based company NoMachine S.à r.l.. NoMachine is proprietary software and is free-of-charge for non-commercial use.

Remote administration refers to any method of controlling a computer or other Internet-connected device, such as a smartphone, from a remote location. There are many commercially available and free-to-use software that make remote administration easy to set up and use. Remote administration is often used when it's difficult or impractical to be physically near a system in order to use it or troubleshoot it. Many server administrators also use remote administration to control the servers around the world at remote locations. It is also used by companies and corporations to improve overall productivity as well as promote remote work. It may also refer to both legal and illegal remote administration.

<span class="mw-page-title-main">UltraVNC</span> Remote desktop software

UltraVNC is an open-source remote-administration/remote-desktop-software utility. The client supports Microsoft Windows and Linux but the server only supports Windows. It uses the VNC protocol to allow a computer to access and control another one remotely over a network connection.

A web desktop or webtop is a desktop environment embedded in a web browser or similar client application. A webtop integrates web applications, web services, client–server applications, application servers, and applications on the local client into a desktop environment using the desktop metaphor. Web desktops provide an environment similar to that of Windows, Mac, or a graphical user interface on Unix and Linux systems. It is a virtual desktop running in a web browser. In a webtop the applications, data, files, configuration, settings, and access privileges reside remotely over the network. Much of the computing takes place remotely. The browser is primarily used for display and input purposes.

Oracle Secure Global Desktop (SGD) software provides secure access to both published applications and published desktops running on Microsoft Windows, Unix, mainframe and IBM i systems via a variety of clients ranging from fat PCs to thin clients such as Sun Rays.

In computing, the term remote desktop refers to a software- or operating system feature that allows a personal computer's desktop environment to be run remotely from one system, while being displayed on a separate client device. Remote desktop applications have varying features. Some allow attaching to an existing user's session and "remote controlling", either displaying the remote control session or blanking the screen. Taking over a desktop remotely is a form of remote administration.

This page is a comparison of notable remote desktop software available for various platforms.

Adaptive Internet Protocol (AIP) is a multi-channel protocol that allows an application running on any of multiple platforms to be displayed on any of a wide range of client systems. It supports rich remote display and input services with a number of display options to deliver the presentation of the remote applications onto the local display either as a standalone window, or within a contained remote environment delivered full-screen or in a standalone window. The protocol also supports audio, printing, and other device mapping services.

<span class="mw-page-title-main">ThinLinc</span>

ThinLinc is a cross-platform remote desktop server developed by Cendio AB. The server software and the users' main desktops run on Linux. Clients are available for Linux, Windows, macOS, and a number of thin clients. A browser client using HTML5 technologies is also available.

Remote Desktop Services (RDS), known as Terminal Services in Windows Server 2008 and earlier, is one of the components of Microsoft Windows that allow a user to initiate and control an interactive session on a remote computer or virtual machine over a network connection. RDS was first released in 1998 as Terminal Server in Windows NT 4.0 Terminal Server Edition, a stand-alone edition of Windows NT 4.0 Server that allowed users to log in remotely. Starting with Windows 2000, it was integrated under the name of Terminal Services as an optional component in the server editions of the Windows NT family of operating systems, receiving updates and improvements with each version of Windows. Terminal Services were then renamed to Remote Desktop Services with Windows Server 2008 R2 in 2009.

Digital Audio Control Protocol (DACP) is a protocol used by the iTunes and other audio player and server applications on Mac, Windows and Linux computers, enabling remote control by mobile devices such as iPhone and Android phones and tablet computers. By connecting the personal computer to loudspeakers the mobile device is used as a two-way remote control, allowing selection and control of music playback within a traditional listening environment such as a home or apartment.

<span class="mw-page-title-main">GraphOn</span> Application publishing software

GraphOn GO-Global is a multi-user remote access application for Windows. GO-Global is a product of GraphOn Corporation.

The RVU protocol is an Application Layer protocol, that combines the pre-existing Digital Living Network Alliance (DLNA) standards and a new Remote User Interface (RUI) protocol, which works similar to Remote Desktop Protocol (RDP). The RVU RUI protocol is intended to allow an RVU-enabled client, such as a TV, to receive a pixel-accurate display of the user interface available on an RVU server.

<span class="mw-page-title-main">Jellyfin</span> Media server software

Jellyfin is a free and open-source media server and suite of multimedia applications designed to organize, manage, and share digital media files to networked devices. Jellyfin consists of a server application installed on a machine running Microsoft Windows, macOS, Linux or in a Docker container, and another application running on a client device such as a smartphone, tablet, smart TV, streaming media player, game console or in a web browser. Jellyfin also can serve media to DLNA and Chromecast-enabled devices. It is a fork of Emby.

References

  1. "60+ Best Docker Containers for Home Server Beginners 2023 | SHB". 2023-04-06. Retrieved 2023-04-06.
  2. "Roaming Windows User Profiles - SambaWiki". wiki.samba.org. Retrieved 2023-12-23.
  3. "What is Plex?". Plex Support. Retrieved 2024-04-09.
  4. "About Jellyfin | Jellyfin". jellyfin.org. Retrieved 2024-04-09.
  5. Stephen, Bijan (2019-07-23). "Plex makes piracy just another streaming service". The Verge. Retrieved 2024-04-09.
  6. "Software Development Kit for Windows Home Server". 19 March 2009.
  7. "Proceso de montaje del servidor de mi casa". www.danielclemente.com. Retrieved 2021-12-10.