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. 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.
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. Services such as
Windows Home Server are less used, likely due to modern 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. These services have been criticised for catering to
pirates by allowing them to easily manage and view their illegally obtained media.
Remote access 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. Two services common on Linux home servers are
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.
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. Similarly,
Tonido provides an application platform that can be extended by writing new applications using their SDK. ==Operating systems==