# Hardware

We need to make sure we understand our [hardware requirements](https://hub.subspace.services/books/your-personal-cloud/chapter/understanding-the-requirements "Knowing Your Requirements") and [find a machine that supports them](https://hub.subspace.services/books/hardware/chapter/quick-start-examples "Quick-Start Examples"). Finally, there are some [firmware configuration](https://hub.subspace.services/books/hardware/chapter/firmware-configuration "Firmware Configuration") we should check before installing an operating system.

# What is a Server?

When most people think of a server, they imagine a rack in a data center at a large tech company. Within computers, "server" can be referring to both specialized hardware and software. While server hardware is geared towards reliability and uptime, any computer can run the software needed to host a server.

<table class="align-center" id="bkmrk-server-rack-with-a-c"><colgroup><col style="width: 240px;"></col></colgroup><tbody><tr><td>[![1000006969.jpg](https://hub.subspace.services/uploads/images/gallery/2025-04/scaled-1680-/1000006969.jpg)](https://hub.subspace.services/uploads/images/gallery/2025-04/scaled-1680-/1000006969.jpg)

Server Rack with a Console Display

</td></tr></tbody></table>

[Linux](https://hub.subspace.services/books/software/page/what-is-linux "What is Linux?")<span style="white-space: pre-wrap;"> distributions, such as Debian, power an estimated </span>[95% of the top one million web servers](https://web.archive.org/web/20150806093859/http://www.w3cook.com/os/summary/)<span style="white-space: pre-wrap;">. Server applications are a specialized type of software that runs on top of your operating system to handle the requests of clients. Through server software, your computer can accept incoming connections over your local network. </span>

Servers are not typically accessed physically with an attached display, but are controlled remotely through a connection to their desktop or command line – called "[headless](https://en.m.wikipedia.org/wiki/Headless_computer)". Within a data center, server racks may have a display that can be used to remotely access individual computer units within the stack.

<span style="white-space: pre-wrap;">These servers have enterprise-grade hardware that are built to maintain as close to 100% uptime as possible. This includes features like error-checking RAM, hot-swappable hard drives and redundant power supplies. Servers often incorporate </span>[RAID](https://en.m.wikipedia.org/wiki/RAID)<span style="white-space: pre-wrap;"> – or a </span>**Redundant Array of Independent Disks**<span style="white-space: pre-wrap;"> – that allow hard drives to mirror themselves in real-time. In the event that one drive fails, it has a perfect duplicate to switch to immediately.</span>

<table class="align-center" id="bkmrk-supermicro-sbi-7228r"><colgroup><col style="width: 240px;"></col><col style="width: 240px;"></col></colgroup><tbody><tr style="height: 10px;"><td>[![1000006760.jpg](https://hub.subspace.services/uploads/images/gallery/2025-03/scaled-1680-/1000006760.jpg)](https://hub.subspace.services/uploads/images/gallery/2025-03/scaled-1680-/1000006760.jpg)

Supermicro SBI-7228R-T2X

</td><td>[![1000006766.jpg](https://hub.subspace.services/uploads/images/gallery/2025-03/scaled-1680-/1000006766.jpg)](https://hub.subspace.services/uploads/images/gallery/2025-03/scaled-1680-/1000006766.jpg)

Dell PowerEdge M1000e

</td></tr></tbody></table>

These form factors are traditionally known as "[blade](https://en.m.wikipedia.org/wiki/Blade_server)" or "rack" servers. Data center servers use this compact design because it allows them to be stored efficiently. Temperature control is greatly important when running a server – or a server farm – and this form factor has cooling fans integrated into each unit.

<span style="white-space: pre-wrap;">Tower servers are also a common form factor for a home or small business server. These have similar features to a rack server, but are contained in a discrete form factor that work excellent for single-server setups. </span>

<table class="align-center" id="bkmrk-dell-poweredge-t360h"><colgroup><col style="width: 240px;"></col><col style="width: 240px;"></col></colgroup><tbody><tr style="height: 10px;"><td>[![1000006762.jpg](https://hub.subspace.services/uploads/images/gallery/2025-03/scaled-1680-/1000006762.jpg)](https://hub.subspace.services/uploads/images/gallery/2025-03/scaled-1680-/1000006762.jpg)

Dell PowerEdge T360

</td><td>[![1000006763.jpg](https://hub.subspace.services/uploads/images/gallery/2025-03/scaled-1680-/1000006763.jpg)](https://hub.subspace.services/uploads/images/gallery/2025-03/scaled-1680-/1000006763.jpg)

HP Z440

</td></tr></tbody></table>

Consumer-grade computers can work as a server if the required software is installed and precautions are taken to offset the hardware differences. While conventional desktops can maintain excellent uptime, hardware malfunctions can result in downtime. Without a consistent and secure onsite and remote backup solution in place, this can result in permanent data loss should a hard drive fails or a power surge occurs.

# Layers of Computing

<span style="white-space: pre-wrap;">Computers are built heavily around the concept of </span>[abstraction](https://en.m.wikipedia.org/wiki/Abstraction_(computer_science))<span style="white-space: pre-wrap;"> – or simplifying complex mechanisms in ways that allow you to build modular systems that can work together while also being easier to understand and maintain. This creates a pipeline for independent modules – each completing their own complex task – to communicate with each other through a common technical language.</span>

## <span style="white-space: pre-wrap;">Abstraction </span>

<div drawio-diagram="1049"><img src="https://hub.subspace.services/uploads/images/drawio/2025-04/drawing-3-1745608990.png" alt=""/></div>

<span style="white-space: pre-wrap;">Abstraction is related to </span>[modular design](https://en.m.wikipedia.org/wiki/Modular_design)<span style="white-space: pre-wrap;"> – or creating discreet modules that communicate through a common language. Similarly, </span>[systems thinking](https://en.m.wikipedia.org/wiki/Systems_thinking)<span style="white-space: pre-wrap;"> enables people to consider the complexity of our real world – and all of its relationships – at both the large and small scale. </span>

<table id="bkmrk--13" style="border-collapse: collapse; width: 100%; border-width: 1px;"><colgroup><col style="width: 50.1326%;"></col><col style="width: 50.1326%;"></col></colgroup><tbody><tr><td>[![1000000040.jpg](https://hub.subspace.services/uploads/images/gallery/2025-04/scaled-1680-/1000000040.jpg)](https://hub.subspace.services/uploads/images/gallery/2025-04/1000000040.jpg)

</td><td>[![1000000041.jpg](https://hub.subspace.services/uploads/images/gallery/2025-04/scaled-1680-/1000000041.jpg)](https://hub.subspace.services/uploads/images/gallery/2025-04/1000000041.jpg)

</td></tr></tbody></table>

While you may need to have some knowledge about hardware specifications to build a computer, you don't need to understand the mechanical underpinnings of the physical engineering. You aren't required to know how to code just to install and use a software package.

<div drawio-diagram="945"><img src="https://hub.subspace.services/uploads/images/drawio/2025-04/drawing-3-1744839646.png" alt=""/></div>

<span style="white-space: pre-wrap;">Abstractions within a system are defined along lines that denote architectures, standards, protocols and specifications. USB ports are an abstraction that allows us to connect an external device to a computer. Thanks to the common language built through the </span>[USB protocol](https://en.m.wikipedia.org/wiki/USB_Implementers_Forum), users can often connect these devices without needing to give it much thought.

<span style="white-space: pre-wrap;">There </span>[standards](https://en.m.wikipedia.org/wiki/Software_standard)<span style="white-space: pre-wrap;"> are often defined by the technology's originating corporation – such as </span>[Intel's x86 processor architecture](https://en.m.wikipedia.org/wiki/X86)<span style="white-space: pre-wrap;"> – or agreed upon through a committee. They allow manufacturers and developers to use hardware interchangeably within compatible environments. By developing standardized systems, computers can translate software code written by Humans into a language usable by our computer. </span>

<div drawio-diagram="951"><img src="https://hub.subspace.services/uploads/images/drawio/2025-04/drawing-3-1744840499.png" alt=""/></div>

<span style="white-space: pre-wrap;">A software </span>[compiler](https://en.m.wikipedia.org/wiki/Compiler)<span style="white-space: pre-wrap;"> can take human-readable, </span>[high-level](https://en.m.wikipedia.org/wiki/High-level_programming_language)<span style="white-space: pre-wrap;"> programming languages and translate them until they are </span>[low-level machine code](https://en.m.wikipedia.org/wiki/Machine_code)<span style="white-space: pre-wrap;"> that can run on your hardware. There are </span>[many different programming languages](https://en.m.wikipedia.org/w/index.php?title=List_of_programming_languages)<span style="white-space: pre-wrap;"> – each requiring their own compiler – and they can be sorted by their level of abstraction.</span>

<details id="bkmrk-home-server-use-a-ra"><summary>Visual Language</summary>

As the name implies, these programming languages use a visual metaphor to build programs instead of using natural language elements. These can be an excellent pathway for learning the core logic concepts behind programming.

[![1000006964.png](https://hub.subspace.services/uploads/images/gallery/2025-04/scaled-1680-/1000006964.png)](https://hub.subspace.services/uploads/images/gallery/2025-04/scaled-1680-/1000006964.png)

**This code uses the** [**Scratch visual programming language**](https://en.m.wikipedia.org/wiki/Scratch_(programming_language)) **to play a sound when a button is clicked.**

</details><details id="bkmrk-personal-cloud-the-r"><summary>High-Level Language</summary>

These programming languages are highly abstracted from raw machine code and generally use text-based natural language elements.

```c++
#include <iostream>
using namespace std;

int main() {
  return 5 + 7;
}
```

**This**<span style="white-space: pre-wrap;"> </span>**code uses the** [C++ programming language](https://en.m.wikipedia.org/wiki/C%2B%2B) **to return the sum of 5 and 7.**

</details><details id="bkmrk-assembly-languagetes"><summary>Assembly Language</summary>

This category offers mnemonic representations of physical machine instructions while still operating extremely efficiently.

```assembly
mov abx, 5
mov cdx, 7
add abx, cdx
```

**These** [**x86 assembly code**](https://en.m.wikipedia.org/wiki/X86_assembly_language) **instructions will produce the sum of 5 and 7.**

</details><details id="bkmrk-machine-languagetest"><summary>Machine Language</summary>

<span style="white-space: pre-wrap;">This language is completely without abstraction and represents the literal binary data that is being processed by the computer. </span>

Machine language is dependent on the hardware being used, which is why computer components are created to follow existing standards.

```machine
00000000 ; Stop Program
00000001 ; Turn on bulb
00000010 ; Turn off bulb
00000100 ; Dim bulb by 10%
00001000 ; Brighten bulb by 10%
```

**This theoretical set of machine code instructions could be used to control a light bulb.**

</details><span style="white-space: pre-wrap;">Following these abstractions, there are three levels to computing, each building on the other to achieve a general-purpose operating systems. By building a system consisting of physical hardware parts and integrated firmware, we create a digital software space for performing tasks through applications. </span>

<div drawio-diagram="695"><img src="https://hub.subspace.services/uploads/images/drawio/2025-03/drawing-3-1743031523.png" alt=""/></div>

Below, we will explore these computational layers and learn how they come together to create a computer system capable of performing complex tasks.

## Hardware

This is the physical side of computing, accomplished using integrated circuits created from silica and rare earth metals. Hardware receives its directions from the software and firmware allowing the entire computing system to execute the commands required for completing the desired task.

<p class="callout info">The term "hardware" derives from its relatively rigid nature in respect to change.</p>

<div drawio-diagram="701"><img src="https://hub.subspace.services/uploads/images/drawio/2025-03/drawing-3-1743032071.png" alt=""/></div>

<span style="white-space: pre-wrap;">Hardware includes the </span>[motherboard](https://en.m.wikipedia.org/wiki/Motherboard)<span style="white-space: pre-wrap;">, which acts as a seat for all hardware parts within a computer and enables their communication. The </span>[CPU](https://en.m.wikipedia.org/wiki/Central_processing_unit)<span style="white-space: pre-wrap;"> performs precise calculations, the </span>[GPU](https://en.m.wikipedia.org/wiki/Graphics_processing_unit)<span style="white-space: pre-wrap;"> handles graphical manipulation, and the </span>[RAM](https://en.m.wikipedia.org/wiki/Random-access_memory)<span style="white-space: pre-wrap;"> stores data currently in use by software. Long-term data storage is accomplished through </span>[high-capacity platter disks](https://en.m.wikipedia.org/wiki/Hard_disk_drive)<span style="white-space: pre-wrap;"> or </span>[solid-state flash memory drives](https://en.m.wikipedia.org/wiki/Solid-state_drive)<span style="white-space: pre-wrap;">. </span>

<table class="align-center" id="bkmrk-dell-precision-t3600"><colgroup><col style="width: 240px;"></col></colgroup><tbody><tr><td>[![1000006963.jpg](https://hub.subspace.services/uploads/images/gallery/2025-04/scaled-1680-/1000006963.jpg)](https://hub.subspace.services/uploads/images/gallery/2025-04/scaled-1680-/1000006963.jpg)

Dell Precision T3600 Motherboard

</td></tr></tbody></table>

<span style="white-space: pre-wrap;">Many motherboards contain an </span>[RTC](https://en.m.wikipedia.org/wiki/Real-time_clock)<span style="white-space: pre-wrap;"> (Real-Time Clock) that keep track of time even when the computer temporarily loses power. Other hardware components may include: </span>[network interface cards](https://en.m.wikipedia.org/wiki/Network_interface_controller)<span style="white-space: pre-wrap;">, </span>[sound cards](https://en.m.wikipedia.org/wiki/Sound_card)<span style="white-space: pre-wrap;">, </span>[BlueTooth](https://en.m.wikipedia.org/wiki/Bluetooth)<span style="white-space: pre-wrap;">, and </span>[USB](https://en.m.wikipedia.org/wiki/USB)<span style="white-space: pre-wrap;"> for connecting external devices.</span>

## Firmware

This low-level software enables the hardware to interact with higher level software such as your operating system. Hardware components have programming embedded into them that enable them to communicate.

<p class="callout info">"Firmware" reflects the heterogenous blend of software and hardware.</p>

[Hardware abstraction](https://en.m.wikipedia.org/wiki/Hardware_abstraction)<span style="white-space: pre-wrap;"> provides an operating system with access to the low-level functions on a hardware component without needing to know its </span>[low-level machine code](https://en.m.wikipedia.org/wiki/Machine_code)<span style="white-space: pre-wrap;">. </span>

<div drawio-diagram="682"><img src="https://hub.subspace.services/uploads/images/drawio/2025-03/drawing-3-1743021093.png" alt=""/></div>

<span style="white-space: pre-wrap;">While easier to modify that hardware, altering firmware may require replacing a physical module or </span>[flashing](https://en.m.wikipedia.org/wiki/Firmware#Flashing)<span style="white-space: pre-wrap;"> a reprogrammable memory chip. Motherboards contain a reprogrammable firmware interface such as </span>[BIOS](https://en.m.wikipedia.org/wiki/BIOS)<span style="white-space: pre-wrap;"> (Basic Input Output System) or </span>[UEFI](https://en.m.wikipedia.org/wiki/UEFI)<span style="white-space: pre-wrap;"> (Unified Extensible Firmware Interface). </span>

<table class="align-center" id="bkmrk-ami-uefi-manager"><colgroup><col style="width: 240px;"></col></colgroup><tbody><tr><td>[![1000006146.webp](https://hub.subspace.services/uploads/images/gallery/2025-02/scaled-1680-/1000006146.webp)](https://hub.subspace.services/uploads/images/gallery/2025-02/scaled-1680-/1000006146.webp)

[AMI](https://en.m.wikipedia.org/wiki/American_Megatrends)<span style="white-space: pre-wrap;"> UEFI Manager</span>

</td></tr></tbody></table>

<span style="white-space: pre-wrap;">These offer access to hardware-level configurations such as which storage device to boot from or which components to disable. </span>[RAID](https://en.m.wikipedia.org/wiki/RAID)<span style="white-space: pre-wrap;"> allows your computer to enable low-level storage drive duplication to make sure you never lose your data. </span>

<span style="white-space: pre-wrap;">When the hardware is first turned on, the BIOS or UEFI will execute the </span>[POST](https://en.m.wikipedia.org/wiki/Power-on_self-test)<span style="white-space: pre-wrap;"> – or Power-On Self Test – to ensure all hardware is functional. After this, the firmware hands control to the software-based bootloader stored on the storage device and loads the operating system.</span>

## Software

<span style="white-space: pre-wrap;">The operating system offers a general-purpose interface for completing tasks, either using a </span>[command-line](https://en.m.wikipedia.org/wiki/Command-line_interface)<span style="white-space: pre-wrap;"> or </span>[graphical user interface](https://en.m.wikipedia.org/wiki/Graphical_user_interface)<span style="white-space: pre-wrap;">. These generally take more storage space necessitating that they're stored on internal data drives. </span>

<div drawio-diagram="683"><img src="https://hub.subspace.services/uploads/images/drawio/2025-03/drawing-3-1743021483.png" alt=""/></div>

[Drivers](https://en.m.wikipedia.org/wiki/Device_driver)<span style="white-space: pre-wrap;"> are leveraged as necessary to expand on the functionality of hardware beyond what is offered by the firmware. These are special software packages that directly "drive" hardware from the operating aystem. This is common for components like graphic cards, sound cards and other controller chips.</span>

<table class="align-center" id="bkmrk-debian-12-gnome"><colgroup><col style="width: 240px;"></col></colgroup><tbody><tr><td>[![VirtualBox_Debian - GNOME_02_04_2025_12_03_25.png](https://hub.subspace.services/uploads/images/gallery/2025-04/scaled-1680-/virtualbox-debian-gnome-02-04-2025-12-03-25.png)](https://hub.subspace.services/uploads/images/gallery/2025-04/scaled-1680-/virtualbox-debian-gnome-02-04-2025-12-03-25.png)

Debian 12 GNOME

</td></tr></tbody></table>

<span style="white-space: pre-wrap;">An operating system creates a user environment for running applications to perform specific tasks like opening a web browser or editing a word document. This type of software is often intended for one user through their user account on a computer they are accessing locally. </span>

<span style="white-space: pre-wrap;">Compared to user applications like a web browser that are used while sitting in the chair at your computer, </span>[server software](https://en.m.wikipedia.org/wiki/Server_(computing))<span style="white-space: pre-wrap;"> lets your computer respond to requests from client devices accessing over the network. </span>

# Quick-Start Examples

This is an overview of some quick-start computers you can use to create a server for your self-hosted cloud services.

# Single-Board Computers

The [Raspberry Pi](https://raspberrypi.com) – who popularized this style of computer – currently sell three versions of their board: [3B+](https://www.raspberrypi.com/products/raspberry-pi-3-model-b-plus/), [4](https://www.raspberrypi.com/products/raspberry-pi-4-model-b/), and[ 5](https://www.raspberrypi.com/products/raspberry-pi-5/). Other options include: similar vendors such as [Banana Pi](https://www.banana-pi.org/web/), [Orange Pi](http://www.orangepi.org/) and [Pine Board](https://pineboards.io/); the completely open hardware [Libre Board](https://libre.computer/); the Asus [TinkerBoard](https://www.asus.com/us/networking-iot-servers/aiot-industrial-solutions/all-series/tinker-board/) and the Texas Instruments [Beagle Board](https://www.beagleboard.org/).

<table border="1" class="align-center" id="bkmrk-sell-cost-%2450-%E2%80%93-%24200" style="border-collapse: collapse; width: 100%; border-width: 1px;"><colgroup><col style="width: 100%;"></col></colgroup><tbody><tr><td><span class="material-symbols-outlined">Sell</span>

**Cost**

$50 – $200

</td></tr></tbody></table>

Single-board computers work well for small servers, but can struggle under heavy usage. While cost-effective, they are also examples er, but these computers can run for months without needing to be restarted.

[![1000006095.jpg](https://hub.subspace.services/uploads/images/gallery/2025-02/scaled-1680-/1000006095.jpg)](https://hub.subspace.services/uploads/images/gallery/2025-02/1000006095.jpg)

<p class="callout info">Great for hosting a small server where you run services only for yourself.</p>

<details id="bkmrk-home-server-use-a-ra"><summary>Home Server</summary>

[![Screen Shot 2025-03-07 at 18.19.42.png](https://hub.subspace.services/uploads/images/gallery/2025-03/scaled-1680-/screen-shot-2025-03-07-at-18-19-42.png)](https://hub.subspace.services/uploads/images/gallery/2025-03/screen-shot-2025-03-07-at-18-19-42.png)

Use a [Raspberry Pi 4](https://www.raspberrypi.com/products/raspberry-pi-4-model-b/) for [Home Assistant](https://hub.subspace.services/books/home-assistant "Home Assistant") to manage your smart devices and [Grocy](https://hub.subspace.services/books/grocy "Grocy") to keep track of your kitchen inventory.

</details><details id="bkmrk-personal-cloud-the-r"><summary>Personal Cloud</summary>

[![Screen Shot 2025-03-07 at 13.34.49.png](https://hub.subspace.services/uploads/images/gallery/2025-03/scaled-1680-/screen-shot-2025-03-07-at-13-34-49.png)](https://hub.subspace.services/uploads/images/gallery/2025-03/screen-shot-2025-03-07-at-13-34-49.png)

The [Raspberry Pi 5](https://www.raspberrypi.com/products/raspberry-pi-5/) and a USB 3.0 Hard Drive can be a personal [OwnCloud](https://hub.subspace.services/books/owncloud "OwnCloud") server for your calendar, contacts and files. Add [Collabora](https://hub.subspace.services/books/collabora "Collabora") to edit documents, slideshows and spreadsheets directly in your browser.

</details><details id="bkmrk-personal-wiki-use-th"><summary>Personal Wiki</summary>

[![Screen Shot 2025-03-09 at 20.32.07.png](https://hub.subspace.services/uploads/images/gallery/2025-03/scaled-1680-/screen-shot-2025-03-09-at-20-32-07.png)](https://hub.subspace.services/uploads/images/gallery/2025-03/screen-shot-2025-03-09-at-20-32-07.png)

Use the [Libre Computer Solitude](https://libre.computer/products/aml-s905d3-cc/) for hosting your own [BookStack](https://hub.subspace.services/books/collabora "BookStack") to keep track of your personal knowledge.

</details><p class="callout warning">**Your experiences may vary.**  
Always make sure to test for stability when installing new services.</p>

This class of commodity computers use ARM processors that are part of a system-on-a-chip. They are extremely power efficient with performance specifics being dependent on the model you purchase. Generally, they are powered using a USB connector and a high-quality cable.

By default, many come with an Ethernet port, Wi-Fi, Bluetooth, USB, HDMI and 3.5mm audio output. These board also come with a GPIO port which offers programmable pins for HAT add-ons and project development.

<table border="1" class="align-center" id="bkmrk-minimum-specificatio" style="border-collapse: collapse; border-width: 1px; width: 100%;"><colgroup><col style="width: 100%;"></col></colgroup><thead><tr><td>Minimum Specifications</td></tr></thead></table>

<table border="1" class="align-left" id="bkmrk-stylus_laser_pointer" style="border-collapse: collapse; width: 600px; border-width: 0px; height: 261.6px; border-spacing: 5px;"><colgroup><col style="width: 7.02367%;"></col><col style="width: 92.9744%;"></col></colgroup><tbody><tr><td style="border-width: 0px; padding: 5px;"><span class="material-symbols-outlined">Developer\_board</span>

</td><td style="border-width: 0px; padding: 5px;">**Processor**

- 1.5GHz
- Quad-Core
- ARM system-on-a-chip

</td></tr><tr><td style="border-width: 0px; padding: 5px;"><span class="material-symbols-outlined">Memory</span>

</td><td style="border-width: 0px; padding: 5px;">**Memory**

- 8GB or higher
- DDR4

</td></tr><tr><td style="border-width: 0px; padding: 5px;"><span class="material-symbols-outlined">View\_in\_ar</span>

</td><td style="border-width: 0px; padding-top: 5px; padding-right: 5px; padding-bottom: 5px;">**Graphics**

- Integrated Graphics
- Shared Memory

</td></tr><tr><td style="border-width: 0px; padding: 5px;"><span class="material-symbols-outlined">Hard\_drive</span>

</td><td style="border-width: 0px; padding-top: 5px; padding-right: 5px; padding-bottom: 5px;">**Storage**

- 32GB Class 10 SDXC

</td></tr><tr><td style="border-width: 0px; padding: 5px;"><span class="material-symbols-outlined">Lan</span>

</td><td style="border-width: 0px; padding-top: 5px; padding-right: 5px; padding-bottom: 5px;">**Connectivity**

- 1GBit Ethernet
- BlueTooth
- USB 3.0
- GPIO

</td></tr></tbody></table>

<table border="1" class="align-center" id="bkmrk-where-to-buy" style="border-collapse: collapse; width: 100%; border-width: 1px;"><colgroup><col style="width: 100%;"></col></colgroup><thead><tr><td>Where To Buy</td></tr></thead></table>

<table border="1" class="align-left" id="bkmrk-store-where-to-buy-%C2%A0" style="border-collapse: collapse; width: 600px; border-width: 0px; height: 261.6px; border-spacing: 5px;"><tbody><tr><td style="border-width: 0px; padding: 5px; width: 20px;"><span class="material-symbols-outlined">Language</span>

</td><td style="border-width: 0px; padding-top: 5px; padding-right: 5px; padding-bottom: 5px;">**Online**

- [AdaFruit](https://www.adafruit.com/)
- [LoveRpi](https://www.loverpi.com/collections/)
- [CanaKit](https://www.canakit.com/)
- [SparkFun](https://www.sparkfun.com/)
- [AmeriDroid](https://ameridroid.com/)
- [MicroCenter](https://www.microcenter.com/)
- [Official Raspberry Pi distributors](https://www.raspberrypi.com/resellers/)

</td></tr></tbody></table>

# Mini PC

Small form-factor traditional computers have become popular for creating your own personal media server and set-top boxes using [Plex](https://hub.subspace.services/books/plex "Plex") or [Jellyfin](https://hub.subspace.services/books/jellyfin "Jellyfin"). These are sold by many notable PC manufacturers, such as [Intel NUCs](https://staging.nucoutlet.intel.com/) or Dell's [OptiPlex](https://www.dell.com/en-us/shop/desktop-computers/sf/optiplex-desktops) and [Precision](https://www.dell.com/en-us/shop/desktops-all-in-one-pcs/sf/precision-desktops) series. There are other direct-to-consumer options like [System76](https://system76.com/), [BeeLink](https://www.bee-link.com/) and [GeekomPC](https://www.geekompc.com/).


<table border="1" id="bkmrk-sell-cost-%2450-%E2%80%93-%24200" style="border-collapse: collapse; width: 99.9805%; border-width: 0px;"><colgroup><col style="width: 99.7067%;"></col></colgroup><tbody><tr><td style="border-width: 0px;"><span class="material-symbols-outlined">Sell</span>

**Cost**

$150 – $1500

</td></tr></tbody></table>

Mini PCs can work well for a small personal media or cloud server, but lack the power to support multiple users. Many computers in this form factor cannot support a graphics card or additional hard drives. High-speed NVME hard drives are increasingly common, greatly improving performance for basic cloud servers.[![1000006105.jpg](https://hub.subspace.services/uploads/images/gallery/2025-02/scaled-1680-/1000006105.jpg)](https://hub.subspace.services/uploads/images/gallery/2025-02/1000006105.jpg)

<p class="callout info">Great option for hosting a small media server or a cloud solution for your family.</p>

<details id="bkmrk-media-manager-and-se"><summary>Media Manager and Server</summary>

[![Screen Shot 2025-03-08 at 15.28.05.png](https://hub.subspace.services/uploads/images/gallery/2025-03/scaled-1680-/screen-shot-2025-03-08-at-15-28-05.png)](https://hub.subspace.services/uploads/images/gallery/2025-03/screen-shot-2025-03-08-at-15-28-05.png)

Host your own [Jellyfin](https://hub.subspace.services/books/jellyfin "Jellyfin") media server to stream your media remotely. Personal media managers like [Radarr](https://hub.subspace.services/books/radarr "Radarr"), [Sonarr](https://hub.subspace.services/books/sonarr "Sonarr"), [Lidarr](https://hub.subspace.services/books/lidarr "Lidarr"), [Readarr](https://hub.subspace.services/books/readarr "Readarr") and [Bazarr](https://hub.subspace.services/books/bazarr "Bazarr") can help keep track of your media, while [Prowlarr](https://hub.subspace.services/books/prowlarr "Prowlarr") can aggregate search results for missing media to send to your peer-to-peer [qBittorrent](https://hub.subspace.services/books/qbittorrent "qBittorrent") server.

</details><details id="bkmrk-personal-blog%2C-websi"><summary>Personal Blog, Website and Wiki</summary>

[![Screen Shot 2025-03-08 at 17.31.43.png](https://hub.subspace.services/uploads/images/gallery/2025-03/scaled-1680-/screen-shot-2025-03-08-at-17-31-43.png)](https://hub.subspace.services/uploads/images/gallery/2025-03/screen-shot-2025-03-08-at-17-31-43.png)

Express yourself with a [WordPress](https://hub.subspace.services/books/wordpress "WordPress") blog, build a knowledge base with [MediaWiki](https://hub.subspace.services/books/mediawiki "MediaWiki") and host your own [personal website](https://hub.subspace.services/books/nginx "nginx") or [resume](https://hub.subspace.services/books/reactive-resume "Reactive Resume").

</details><p class="callout warning">**Your experiences may vary.**   
Always make sure to test for stability when installing new services.</p>

These types of computers uses the traditional x86 architecture which gives them more processing power at the cost of more power usage. Depending on the model, they may use a desktop or mobile processor and have differing levels of extensibility for add-ons like graphics cards or hard drives.

These computers can be reasonably priced with a traditional x86 processor and expandable storage. Many mini PCs come with different connectivity options such as USB, HDMI, 3.5mm audio, optical audio, Ethernet, Wi-Fi and Bluetooth.

<table border="1" class="align-center" id="bkmrk-minimum-specificatio" style="border-collapse: collapse; width: 100%; border-width: 1px;"><colgroup><col style="width: 100%;"></col></colgroup><thead><tr><td>Minimum Specifications</td></tr></thead></table>

<table border="1" class="align-left" id="bkmrk-stylus_laser_pointer" style="border-collapse: collapse; width: 600px; border-width: 0px; height: 261.6px; border-spacing: 5px;"><colgroup><col style="width: 7.02367%;"></col><col style="width: 92.9744%;"></col></colgroup><tbody><tr><td style="border-width: 0px; padding: 5px;"><span class="material-symbols-outlined">Developer\_board</span>

</td><td style="border-width: 0px; padding: 5px;">**Processor**

- 2.5GHz or higher
- Quad-Core, Dual-Threaded
- x86/AMD64 architecture

</td></tr><tr><td style="border-width: 0px; padding: 5px;"><span class="material-symbols-outlined">Memory</span>

</td><td style="border-width: 0px; padding: 5px;">**Memory**

- 16GB or higher
- DDR4

</td></tr><tr><td style="border-width: 0px; padding: 5px;"><span class="material-symbols-outlined">View\_in\_ar</span>

</td><td style="border-width: 0px; padding-top: 5px; padding-right: 5px; padding-bottom: 5px;">**Graphics**

- Integrated Graphics
- Shared Memory

</td></tr><tr><td style="border-width: 0px; padding: 5px;"><span class="material-symbols-outlined">Hard\_drive</span>

</td><td style="border-width: 0px; padding-top: 5px; padding-right: 5px; padding-bottom: 5px;">**Storage**

- 250GB SSD
- 2TB+ HDD

</td></tr><tr><td style="border-width: 0px; padding: 5px;"><span class="material-symbols-outlined">Lan</span>

</td><td style="border-width: 0px; padding-top: 5px; padding-right: 5px; padding-bottom: 5px;">**Connectivity**

- Gigabit Ethernet
- BlueTooth
- USB 3.0

</td></tr></tbody></table>


<table border="1" class="align-center" id="bkmrk-where-to-buy" style="border-collapse: collapse; width: 99.9779%; border-width: 1px;"><colgroup><col style="width: 100%;"></col></colgroup><thead><tr><td>Where To Buy</td></tr></thead></table>

<table border="1" class="align-left" id="bkmrk-language-online-beel" style="border-collapse: collapse; width: 600px; border-width: 0px; height: 261.6px; border-spacing: 5px;"><tbody><tr><td style="border-width: 0px; padding: 5px; width: 20px;"><span class="material-symbols-outlined">Language</span>

</td><td style="border-width: 0px; padding-top: 5px; padding-right: 5px; padding-bottom: 5px;">**Online**

- [BeeLink](https://www.bee-link.com/)
- [GeekomPC](https://www.geekompc.com)
- [System76](https://system76.com/desktops/meerkat/)
- [Newegg](https://www.newegg.com)
- [MicroCenter](https://www.microcenter.com/)
- [GreenPC](https://greenpc.shop/)
- [PCs For People](https://www.pcsforpeople.org/)
- [Dell Refurbished](https://www.dellrefurbished.com/)
- [HP Refurbished](https://www.hp.com/us-en/services/workforce-solutions/workforce-computing/renew-solutions/refurbished-hardware.html)
- other online marketplaces.

</td></tr><tr><td style="border-width: 0px; padding: 5px; width: 20px;"><span class="material-symbols-outlined">Storefront</span>

</td><td style="border-width: 0px; padding-top: 5px; padding-right: 5px; padding-bottom: 5px;">**In-Store**

- [Goodwill](https://www.goodwill.org/)
- [BestBuy](https://www.bestbuy.com/)

</td></tr></tbody></table>

# Workstation Computer

These desktops offer the most versatility and can be upgraded over time. Desktop computers are reliant and extensible, making them a great option for always-on server. They can be upgraded over time, making it easy to add more storage, RAM or a more powerful graphics card as your user base grows.

<table border="1" class="align-center" id="bkmrk-sell-cost-%24500-%E2%80%93-%2420" style="border-collapse: collapse; width: 100%; border-width: 1px;"><colgroup><col style="width: 100%;"></col></colgroup><tbody><tr><td><span class="material-symbols-outlined">Sell</span>

**Cost**

$500 – $2000

</td></tr></tbody></table>

Desktop tower computers offer the most power and extensibility for a versatile personal server. They can run multi-purpose services including an [OwnCloud](https://hub.subspace.services/books/owncloud "OwnCloud") personal cloud, [Collabora](https://hub.subspace.services/books/collabora "Collabora") office software, [Jellyfin](https://hub.subspace.services/books/jellyfin "Jellyfin") media server, [qBittorrent](https://hub.subspace.services/books/qbittorrent "qBittorrent") peer-to-peer server and [procurement services](https://hub.subspace.services/books/quick-bundles/page/media-managers "Media Procurement") to curate your media.

[![1000006109.jpg](https://hub.subspace.services/uploads/images/gallery/2025-02/scaled-1680-/1000006109.jpg)](https://hub.subspace.services/uploads/images/gallery/2025-02/1000006109.jpg)

<p class="callout info">Best option for hosting a server for use by yourself, friends and family.</p>

<details id="bkmrk-cloud-office-suite-h"><summary>Cloud Office Suite</summary>

[![Screen Shot 2025-03-07 at 16.16.05.png](https://hub.subspace.services/uploads/images/gallery/2025-03/scaled-1680-/screen-shot-2025-03-07-at-16-16-05.png)](https://hub.subspace.services/uploads/images/gallery/2025-03/screen-shot-2025-03-07-at-16-16-05.png)

Host [OwnCloud](https://hub.subspace.services/books/owncloud "OwnCloud") for calendars, contacts and remote document access, as well as [Collabora](https://hub.subspace.services/books/collabora "Collabora") to edit files directly in your browser. Plan our your next project with [Vikunja](https://hub.subspace.services/books/vikunja "Vikunja"), organize documents with [Paperless-NGX](https://hub.subspace.services/books/paperless-ngx "Paperless-ngx"), and develop code right in your browser with [vscode](https://hub.subspace.services/books/vscode "vscode"). Manage your passwords, Two-Factor Authentication and secure documents using [BitWarden](https://hub.subspace.services/books/vaultwarden "BitWarden").

</details><details id="bkmrk-online-community-hos"><summary>Online Community</summary>

[![Screen Shot 2025-03-09 at 21.16.37.png](https://hub.subspace.services/uploads/images/gallery/2025-03/scaled-1680-/screen-shot-2025-03-09-at-21-16-37.png)](https://hub.subspace.services/uploads/images/gallery/2025-03/screen-shot-2025-03-09-at-21-16-37.png)

Host a [WordPress](https://hub.subspace.services/books/wordpress "WordPress") blog to share updates, document a project using [MediaWiki](https://hub.subspace.services/books/mediawiki "MediaWiki"), build community through a [Flarum](https://hub.subspace.services/books/flarum "Flarum") forum, and manage your own streaming with [OwnCast](https://hub.subspace.services/books/owncast "OwnCast").

</details><p class="callout warning">**Your experiences may vary.**  
Always make sure to test for stability when installing new services.</p>

These computers have space for a dedicated graphic cards, as well as both traditional hard drives and NVME solid state disks. There are even external USB or Thunderbolt storage options to use for your backup solutions. RAM can also be easily upgraded as needed to run more concurrent services.

<table border="1" class="align-center" id="bkmrk-minimum-specificatio" style="border-collapse: collapse; width: 100%; border-width: 1px;"><colgroup><col style="width: 100%;"></col></colgroup><thead><tr><td>Minimum Specifications</td></tr></thead></table>

<table border="1" class="align-left" id="bkmrk-stylus_laser_pointer" style="border-collapse: collapse; width: 600px; border-width: 0px; height: 261.6px; border-spacing: 5px;"><colgroup><col style="width: 7.02367%;"></col><col style="width: 92.9744%;"></col></colgroup><tbody><tr><td style="border-width: 0px; padding: 5px;"><span class="material-symbols-outlined">Developer\_board</span>

</td><td style="border-width: 0px; padding: 5px;">**Processor**

- 2.5GHz or higher
- 64-bit
- Quad-Core, Dual-Threaded
- x86/AMD64 architecture

</td></tr><tr><td style="border-width: 0px; padding: 5px;"><span class="material-symbols-outlined">Memory</span>

</td><td style="border-width: 0px; padding: 5px;">**Memory**

- 16GB or higher
- DDR4

</td></tr><tr><td style="border-width: 0px; padding: 5px;"><span class="material-symbols-outlined">View\_in\_ar</span>

</td><td style="border-width: 0px; padding-top: 5px; padding-right: 5px; padding-bottom: 5px;">**Graphics**

- Dedicated Graphics
- 4GB or more
- AMD Preferred

</td></tr><tr><td style="border-width: 0px; padding: 5px;"><span class="material-symbols-outlined">Hard\_drive</span>

</td><td style="border-width: 0px; padding-top: 5px; padding-right: 5px; padding-bottom: 5px;">**Storage**

- 250GB SSD NVMe
- 6TB+ SATA HDD

</td></tr><tr><td style="border-width: 0px; padding: 5px;"><span class="material-symbols-outlined">Lan</span>

</td><td style="border-width: 0px; padding-top: 5px; padding-right: 5px; padding-bottom: 5px;">**Connectivity**

- 1Gbit Ethernet
- USB 3.0

</td></tr></tbody></table>


<table border="1" class="align-center" id="bkmrk-where-to-buy" style="border-collapse: collapse; width: 99.9779%; border-width: 1px;"><colgroup><col style="width: 100%;"></col></colgroup><thead><tr><td>Where To Buy</td></tr></thead></table>

<table border="1" class="align-left" id="bkmrk-language-online-beel" style="border-collapse: collapse; width: 600px; border-width: 0px; height: 261.6px; border-spacing: 5px;"><tbody><tr><td style="border-width: 0px; padding: 5px; width: 20px;"><span class="material-symbols-outlined">Language</span>

</td><td style="border-width: 0px; padding-top: 5px; padding-right: 5px; padding-bottom: 5px;">**Online**

- [System76](https://system76.com/desktops/meerkat/)
- [Newegg](https://www.newegg.com)
- [MicroCenter](https://www.microcenter.com/)
- [GreenPC](https://greenpc.shop/)
- [PCs For People](https://www.pcsforpeople.org/)
- [Dell Refurbished](https://www.dellrefurbished.com/)
- [HP Refurbished](https://www.hp.com/us-en/services/workforce-solutions/workforce-computing/renew-solutions/refurbished-hardware.html)
- other online marketplaces.

</td></tr><tr><td style="border-width: 0px; padding: 5px; width: 20px;"><span class="material-symbols-outlined">Storefront</span>

</td><td style="border-width: 0px; padding-top: 5px; padding-right: 5px; padding-bottom: 5px;">**In-Store**

- [BestBuy](https://www.bestbuy.com/)

</td></tr></tbody></table>

# Common Language

Computers are complex machines that require the near constant communication and synchronization to continue functioning. These systems consist of numerous modular parts, each containing their own components and core functions. From the procedure that powers on your computer to the process that controls electron flow within a integrated chip, standards are what define our global infrastructure and facilitate communication.

Building a global computer network, more commonly known as the Internet, requires a great deal of planning. We need to ensure that computers are created in a way that promote synergy and harmony – a method for ensuring parts can work together even when created by competitors. Building upon this foundation, we need to reach an accord about how each of these parts can communicate with the others to create larger systems.

As a collective, we convene to curate standards – or a mutually agreed upon definition about something and how it should operate. They are a [lingua franca](https://en.m.wikipedia.org/wiki/Lingua_franca), allowing us to bridge systems through common language each party can understand. Standards help set the stage for creation and collaboration on an unrivaled scale by ensuring the ability to share important information across a divide.

Coming to an agreement on standards can be a contentious process that is never quite finished. As computers gained prominence, many corporations vied to create their own proprietary standards in an attempt to corner the market. This meant that computers and parts created by one manufacturer would not always compatible with another's.

Everyone from engineers to corporations explored their own ideas about how the Internet should work. Starting in the 1960s, the [Protocol Wars](https://en.m.wikipedia.org/wiki/Protocol_Wars) polarized researchers and nations alike as we debated how a World Wide Web of computers would take shape. This required finding robust and reliable means for computers to connect across vast distances. It wasn't until the early 1990s that we firmly agreed on a standard – just in time for the [Unix Wars](https://en.m.wikipedia.org/wiki/Unix_wars) to begin.

Reasearchers were learning how to computers worked about as quickly as corporations sought to generate a profit from them. By creating divergent standards, consumers were often [locked-in to the ecosystem](https://en.m.wikipedia.org/wiki/Vendor_lock-in) of the hardware manufacturer.

The prevailing [Internet standard](https://en.m.wikipedia.org/wiki/Internet_Standard) was not created by any one corporation, but through an organization focused on the creation of open standards. This means that, instead of being owned by any one party, these standards are freely available for anyone to use so that no one can own the Internet.

## Standards

During the first booms within digital computers, we quickly faced the reality that there were many ways to achieve the same end. [Finding a path](https://en.m.wikipedia.org/wiki/Pathfinding) from one point to another can contain many complexities along the way. Standards ensure consistency and play an important role in defining expectations.

<table border="1" class="align-center" id="bkmrk-stylus_laser_pointer" style="border-collapse: collapse; width: 600px; border-width: 0px; height: 261.6px; border-spacing: 5px;"><colgroup><col style="width: 7.02367%;"></col><col style="width: 92.9744%;"></col></colgroup><tbody><tr style="height: 43.6px;"><td class="align-center" style="height: 43.6px; border-width: 0px; padding: 5px;"><span class="material-symbols-outlined">Hub</span>

</td><td class="align-left" style="height: 43.6px; border-width: 0px; padding: 5px;">**Interoperability**

This allows individual components or entire systems to work seamlessly with other discrete parts. [Originally intended for technical information systems](https://ieeexplore.ieee.org/document/182763), it has expanded to [consider external factors](https://web.archive.org/web/20140714143139/http://www.ncoic.org/what-is-interoperability) – such as social, political and power structure. Interoperability is crucial within technical fields – like computers and networks – for widespread adoption.

</td></tr><tr style="height: 43.6px;"><td class="align-center" style="height: 43.6px; border-width: 0px; padding: 5px;"><span class="material-symbols-outlined">Security</span></td><td class="align-left" style="height: 43.6px; border-width: 0px; padding: 5px;">**Security**

Standards often contain best practices that help guide security decisions and provide safety. This allows us to take steps to protect sensitive data through add-on mechanisms – such as [encryption](https://en.m.wikipedia.org/wiki/Encryption), [authentication](https://en.m.wikipedia.org/wiki/Authentication) and [access controls](https://en.m.wikipedia.org/wiki/Access_control). By defining expectations, standards can help us avoid the risks caused by unsupported or incompatible systems

</td></tr><tr><td style="border-width: 0px; padding: 5px;"><span class="material-symbols-outlined">Verified</span></td><td style="border-width: 0px; padding: 5px;">**Reliability**

Standards will often formalize the minimum requirements to ensure safety and continued operation. This can prevent accidents and injuries caused by product failures, as well as provide assurance that the system will keep functioning.

</td></tr></tbody></table>

These are an [important part of global systems](https://en.m.wikipedia.org/wiki/List_of_international_common_standards) like agriculture, communication, science and technology. Defining measurements, symbols and terms we can more easily have conversations across languages and geographical boundaries.

The metric system is an example of a standardized system – what you consider a kilogram is the same as everyone else. These form a foundation on which other standards can be built, enabling larger systems with more complexity.

[Technical standards](https://en.m.wikipedia.org/wiki/Technical_standard) set the rules for building computer components that work together and networks that can seamlessly share information over great distances. They cover a broad area from dimensions and processes all the way to safety and performance requirements. Standards are used for creating both [hardware](https://en.m.wikipedia.org/wiki/List_of_computer_standards) and [software](https://en.m.wikipedia.org/wiki/Software_standard).

<details id="bkmrk-%C2%A0"><summary>Software</summary>

<table border="1" class="align-center" id="bkmrk-hub-html-this-securi" style="border-collapse: collapse; width: 600px; border-width: 0px; height: 261.6px; border-spacing: 5px;"><colgroup><col style="width: 7.02367%;"></col><col style="width: 92.9744%;"></col></colgroup><tbody><tr style="height: 43.6px;"><td class="align-center" style="height: 43.6px; border-width: 0px; padding: 5px;"><span class="material-symbols-outlined">Web</span>

</td><td class="align-left" style="height: 43.6px; border-width: 0px; padding: 5px;">[**HTML**](https://en.m.wikipedia.org/wiki/HTML)

This is used to code websites made available on the World Wide Web.

</td></tr><tr style="height: 43.6px;"><td class="align-center" style="height: 43.6px; border-width: 0px; padding: 5px;"><span class="material-symbols-outlined">Lan</span></td><td class="align-left" style="height: 43.6px; border-width: 0px; padding: 5px;">[**TCP/IP**](https://en.m.wikipedia.org/wiki/Internet_protocol_suite)

This forms the foundation for computers connecting over the internet.

</td></tr><tr><td style="border-width: 0px; padding: 5px;"><span class="material-symbols-outlined">Email</span></td><td style="border-width: 0px; padding: 5px;">[**SMTP**](https://en.m.wikipedia.org/wiki/Simple_Mail_Transfer_Protocol)

This allows us to send emails to people regardless of where they are in the world.

</td></tr><tr><td style="border-width: 0px; padding: 5px;"><span class="material-symbols-outlined">Directory\_sync</span></td><td style="border-width: 0px; padding: 5px;">[**FTP**](https://en.m.wikipedia.org/wiki/File_Transfer_Protocol)

This enables two computers to exchange files over a network.

</td></tr><tr><td style="border-width: 0px; padding: 5px;"><span class="material-symbols-outlined">Docs</span></td><td style="border-width: 0px; padding: 5px;">[**TXT**](https://en.m.wikipedia.org/wiki/Text_file)

This file format can be used to store text files on a computer's storage.

</td></tr><tr><td style="border-width: 0px; padding: 5px;"><span class="material-symbols-outlined">Wysiwyg</span></td><td style="border-width: 0px; padding: 5px;">[**RTF**](https://en.m.wikipedia.org/wiki/Rich_Text_Format)

This can be used to save text with rich formatting to your hard drive.

</td></tr></tbody></table>

</details><details id="bkmrk-%C2%A0-2"><summary>Hardware</summary>

<table border="1" class="align-center" id="bkmrk-hub-pcie-this-securi" style="border-collapse: collapse; width: 600px; border-width: 0px; height: 261.6px; border-spacing: 5px;"><colgroup><col style="width: 7.02367%;"></col><col style="width: 92.9744%;"></col></colgroup><tbody><tr style="height: 43.6px;"><td class="align-center" style="height: 43.6px; border-width: 0px; padding: 5px;"><span class="material-symbols-outlined">Developer\_board</span>

</td><td class="align-left" style="height: 43.6px; border-width: 0px; padding: 5px;">[**PCIe**](https://en.m.wikipedia.org/wiki/PCI_Express)

This allows computers to extend their hardware with add-on boards.

</td></tr><tr style="height: 43.6px;"><td class="align-center" style="height: 43.6px; border-width: 0px; padding: 5px;"><span class="material-symbols-outlined">Memory</span></td><td class="align-left" style="height: 43.6px; border-width: 0px; padding: 5px;">[**SDRAM**](https://en.m.wikipedia.org/wiki/Synchronous_dynamic_random-access_memory)

This forms the foundation for memory in modern computer systems.

</td></tr><tr><td style="border-width: 0px; padding: 5px;"><span class="material-symbols-outlined">Bluetooth</span></td><td style="border-width: 0px; padding: 5px;">[**Bluetooth**](https://en.m.wikipedia.org/wiki/Bluetooth)

This allows devices to communicate over a [personal area network](https://hub.subspace.services/books/world-wide-web/page/what-are-computer-networks "What are Computer Networks?").

</td></tr><tr><td style="border-width: 0px; padding: 5px;"><span class="material-symbols-outlined">Tv</span></td><td style="border-width: 0px; padding: 5px;">[**HDMI**](https://en.m.wikipedia.org/wiki/HDMI)

This allows high-quality video and other data to be transmitted over a cable.

</td></tr><tr><td style="border-width: 0px; padding: 5px;"><span class="material-symbols-outlined">Usb</span></td><td style="border-width: 0px; padding: 5px;">[**USB**](https://en.m.wikipedia.org/wiki/USB)

This enables devices to share power and data on a local connection.

</td></tr><tr><td style="border-width: 0px; padding: 5px;"><span class="material-symbols-outlined">Hard\_disk</span></td><td style="border-width: 0px; padding: 5px;">[**SATA**](https://en.m.wikipedia.org/wiki/SATA)

This provides an interface for accessing locally installed hard disk drives.

</td></tr></tbody></table>

</details>For standards to be used and become widely accepted, they need to be formalized with technical aspects thoroughly documented. They are often maintained by [organizations](https://en.m.wikipedia.org/wiki/Standards_organization) that focus on their continued development. How complex is will vary based on the specific problem it is addressing.

The prominence of a standard can be greatly affected by how it is implemented:

<table border="1" class="align-center" id="bkmrk-gavel-de-jure-standa" style="border-collapse: collapse; width: 600px; border-width: 0px; height: 261.6px; border-spacing: 5px;"><colgroup><col style="width: 7.02367%;"></col><col style="width: 92.9744%;"></col></colgroup><tbody><tr style="height: 43.6px;"><td class="align-center" style="height: 43.6px; border-width: 0px; padding: 5px;"><span class="material-symbols-outlined">Gavel</span>

</td><td class="align-left" style="height: 43.6px; border-width: 0px; padding: 5px;">[**By Regulation**](https://en.m.wikipedia.org/wiki/De_jure)

These *[du jure](https://en.m.wikipedia.org/wiki/De_jure)* standards have been created by officially recognized [Standards organizations](https://en.m.wikipedia.org/wiki/Standards_organization) – such as [IEEE](https://en.m.wikipedia.org/wiki/Institute_of_Electrical_and_Electronics_Engineers), [ISO](https://en.m.wikipedia.org/wiki/International_Organization_for_Standardization), and [ANSI](https://en.m.wikipedia.org/wiki/American_National_Standards_Institute). These standards help ensure [global collaboration](https://en.m.wikipedia.org/wiki/International_standard) by defining important terms.

<p class="callout info">*For example:* the [Internet](https://en.m.wikipedia.org/wiki/Internet_Standard), [websites](https://en.m.wikipedia.org/wiki/World_Wide_Web_Consortium), [email](https://en.m.wikipedia.org/wiki/Simple_Mail_Transfer_Protocol), [mobile broadband](https://en.m.wikipedia.org/wiki/5G), and [cellphone service](https://en.m.wikipedia.org/wiki/Code-division_multiple_access)</p>

</td></tr><tr style="height: 43.6px;"><td class="align-center" style="height: 43.6px; border-width: 0px; padding: 5px;"><span class="material-symbols-outlined">Stars</span></td><td class="align-left" style="height: 43.6px; border-width: 0px; padding: 5px;">[**By Convention**](https://en.m.wikipedia.org/wiki/De_facto_standard)

These *[de facto](https://en.m.wikipedia.org/wiki/De_facto)* standards are not created by any official organization so they are not strictly required. They are often created by private manufacturers and have gained widespread adoption within consumers.

<p class="callout info">For example: [PDFs](https://en.m.wikipedia.org/wiki/Portable_Document_Format), [MP3s](https://en.m.wikipedia.org/wiki/MP3), [HDMI cables](https://en.m.wikipedia.org/wiki/HDMI), [USB connectors](https://en.m.wikipedia.org/wiki/USB), [PCIe extension ports](https://en.m.wikipedia.org/wiki/PCI_Express), [Bluetooth](https://en.m.wikipedia.org/wiki/Bluetooth) and [3.5mm audio cables](https://en.m.wikipedia.org/wiki/Phone_connector_(audio)).</p>

</td></tr></tbody></table>

Not all standards are created equal and come from many different entities. They can be proprietary "closed" standards or community-focused open standards. They each fill their own niche, coming with their own intentions and complexities

Some standards are maintained by a private corporation and are not available to the general public. Generally, these cost a fee or require some other contribution before they can be used. While this may increase profit, adoption may be limited because of the additional steps and increased cost.

This has the potential to create [perverse incentives](https://en.m.wikipedia.org/wiki/Perverse_incentive) for the standard owner to [focus solely on their profit generation](https://techni-k.co.uk/brcgs-standards/brc-service-fee-increase/). Membership can provide corporations means of providing their voice to its development and push back against this.

<p class="callout info">[HDMI](https://en.m.wikipedia.org/wiki/HDMI), [Bluetooth](https://en.m.wikipedia.org/wiki/Bluetooth) and [USB](https://en.m.wikipedia.org/wiki/USB) are examples of "closed" standards that require licensing to claim compliance.</p>

This process [may drive manufacturers to alternative](https://opensource.org/osr-rationale) [open standards](https://en.m.wikipedia.org/wiki/Open_standard) that are community-developed. All necessary documentation and specifications are openly available to the public. These also generally come with an open license that opens the avenue to extensibility and new features. Based on how they are implemented, there may be variability from the standards as written.

<p class="callout info">The [Internet](https://en.m.wikipedia.org/wiki/Internet_Standard) and [cell phone mobile broadband](https://en.m.wikipedia.org/wiki/5G) are examples of open standards.</p>

<section class="mf-section-2 collapsible-block collapsible-block-js open-block" id="bkmrk--9"></section>## Standard Systems

When independent computer systems need to communicate, they need to use a well-defined format. The messages exchanged between two computers have a precisely defined intention, resulting in an expected effect based. The content of these messages and they recieve are all determined as part of their related standards.

That's why it is imperative for every party involved to mutually agree on these '[call and responses](https://en.m.wikipedia.org/wiki/Call_and_response)'. The same way that [programming languages](https://en.m.wikipedia.org/wiki/Programming_language) define our expectations for writing applications, standards can be used to [formalize how they communicate](https://hub.subspace.services/attachments/3).

While a standard is the guideline for maintaining uniformity, they can be employed in different ways:

<table border="1" class="align-center" id="bkmrk-rule-specification-s" style="border-collapse: collapse; width: 600px; border-width: 0px; height: 261.6px; border-spacing: 5px;"><colgroup><col style="width: 7.02367%;"></col><col style="width: 92.9744%;"></col></colgroup><tbody><tr style="height: 43.6px;"><td class="align-center" style="height: 43.6px; border-width: 0px; padding: 5px;"><span class="material-symbols-outlined">Rule</span>

</td><td class="align-left" style="height: 43.6px; border-width: 0px; padding: 5px;">**Specification**

Standards often come with specifications that provide details about the requirements – such as dimensions, materials and procedures – for a specific entity. They are used to describe both the [problem](https://en.m.wikipedia.org/wiki/Business_requirements) and it's [solution](https://en.m.wikipedia.org/wiki/Design_specification).

These can be incredibly in-depth because they are used to explicitly describe integral parts, including manufacturing, testing and handling. They are important for creating contracts because they are a mutually agreed-upon definition for expectations.

<p class="callout info">[Motherboard](https://en.m.wikipedia.org/wiki/Motherboard) standards contain specifications about their dimensions and fastener locations.</p>

</td></tr><tr style="height: 43.6px;"><td class="align-center" style="height: 43.6px; border-width: 0px; padding: 5px;"><span class="material-symbols-outlined">Forum</span></td><td class="align-left" style="height: 43.6px; border-width: 0px; padding: 5px;">**Protocol**

Defined through specifications, these create the means for communication across disparate systems. While standards ensure devices are compatible, protocols enable them to agree upon the language to communicate with.

They govern how data is shared through our global information infrastructure by formalizing parameters:

- ***Syntax:*** The data's structure and format.
- ***Semantics:*** Rules for understanding data.
- ***Sequence:*** The order the data is sent.
- ***Timing:*** When the data is sent.
- ***Flow:*** How quickly the data is sent.
- ***Security:*** Ensures the privacy of data.
- ***Errors:*** Finding and fixing data corruption.

Protocols are often implemented at both the hardware and software level to ensure compliance. Multiple protocols are often used to handle various dimensions of communication – such as finding a computer on the network, establishing the connection, and ensuring it's continued security.

<p class="callout info">The [Internet standards](https://en.m.wikipedia.org/wiki/Internet_Standard) define the protocols required for global network communications.</p>

</td></tr><tr><td style="border-width: 0px; padding: 5px;"><span class="material-symbols-outlined">Layers</span></td><td style="border-width: 0px; padding: 5px;">**Interface**

This is a shared boundary between two separate systems that is used to share information through direct interaction. While a standard dictates how an individual process *should* occur, an interface enumerates what processes *can* occur.

A graphical user interface allows us to control our computer with a mouse and keyboard. Similarly, a hardware interface allows computer parts to communicate with software applications.

<p class="callout info align-left">The [UEFI](https://en.m.wikipedia.org/wiki/UEFI) specification creates an interface for controlling hardware components.</p>

</td></tr></tbody></table>

# Community Impact

Communities can be created within any space where people come together – leading to all kinds of closely or loosely connected group identities. These communities can emerge – knowingly or not – when we make decisions that impact other people.

When we build technology and create digital spaces, it can be easy to forget the effect we have on our physical world, from the server stored in our garage to the houses along the block. We leave our mark on the spaces left in our care and our personal decisions have reverberating effects that can be felt by others – through both subtlety and verve.

Technology has been designed from the ground up to be abstracted, but we must not allow ourselves to lose sight on the fine details lost by the collapse of integral complexity. Before we "break ground", we must take the time to seriously reflect on how our choices can affect those around us – both physically and digitally.

## Ecosystems

Hardware can create digital spaces where we can operate without the limitations of reality. Despite this, hardware resides within the physical world and global ecosystems that we rely on. The choices we make for something as menial as self-hosting can affect us, our neighbors and every denizen of the newfound digital world.

<p class="callout info">Modern cloud computing infrastructure has [staggering effect on our global ecosystems](https://thereader.mitpress.mit.edu/the-staggering-ecological-impacts-of-computation-and-the-cloud/). By self-hosting, we can take responsibility for the stewardship of our environment.</p>

### eWaste &amp; Refurbishment

[E-Waste](https://en.m.wikipedia.org/wiki/Electronic_waste) – or electronics waste – is a pressing concern that we all need to take action on. Within each electronic device, there are both rare earth materials and potentially harmful toxins. As our dependence on computers grow, these materials need to come from somewhere, often resulting in exploitation and human rights abuses. While some materials can be recycled, others may find a final resting place within a landfill.

<table border="1" class="align-center" id="bkmrk-stylus_laser_pointer" style="border-collapse: collapse; width: 600px; border-width: 0px; height: 261.6px; border-spacing: 5px;"><colgroup><col style="width: 7.02367%;"></col><col style="width: 92.9744%;"></col></colgroup><tbody><tr style="height: 43.6px;"><td class="align-center" style="height: 43.6px; border-width: 0px; padding: 5px;"><span class="material-symbols-outlined">Precision\_manufacturing</span>

</td><td class="align-left" style="height: 43.6px; border-width: 0px; padding: 5px;">**Precious Metals**

[Gold](https://en.m.wikipedia.org/wiki/Gold), [Silver](https://en.m.wikipedia.org/wiki/Silver), [Platinum](https://en.m.wikipedia.org/wiki/Platinum), [Palladium](https://en.m.wikipedia.org/wiki/Palladium), [Copper](https://en.m.wikipedia.org/wiki/Copper), [Nickel](https://en.m.wikipedia.org/wiki/Nickel), [Tantalum](https://en.m.wikipedia.org/wiki/Tantalum), [Cobalt](https://en.m.wikipedia.org/wiki/Cobalt), [Aluminum](https://en.m.wikipedia.org/wiki/Aluminium), [Tin](https://en.m.wikipedia.org/wiki/Tin), [Zinc](https://en.m.wikipedia.org/wiki/Zinc)

</td></tr><tr style="height: 43.6px;"><td class="align-center" style="height: 43.6px; border-width: 0px; padding: 5px;"><span class="material-symbols-outlined">Diamond\_shine</span></td><td class="align-left" style="height: 43.6px; border-width: 0px; padding: 5px;">**Rare Earth Elements**

[Neodymium](https://en.m.wikipedia.org/wiki/Neodymium), [Dysprosium](https://en.m.wikipedia.org/wiki/Dysprosium), [Terbium](https://en.m.wikipedia.org/wiki/Terbium)

</td></tr><tr style="height: 43.6px;"><td class="align-center" style="height: 43.6px; border-width: 0px; padding: 5px;"><span class="material-symbols-outlined">Skull</span></td><td class="align-left" style="height: 43.6px; border-width: 0px; padding: 5px;">**Toxins**

[Lead](https://en.m.wikipedia.org/wiki/Lead), [Mercury](https://en.m.wikipedia.org/wiki/Mercury_(element)), [Cadmium](https://en.m.wikipedia.org/wiki/Cadmium), [Beryllium](https://en.m.wikipedia.org/wiki/Beryllium), [Bromine](https://en.m.wikipedia.org/wiki/Bromine), [Polyvinyl Chloride](https://en.m.wikipedia.org/wiki/Polyvinyl_chloride)

</td></tr></tbody></table>

When electronics are buried in landfills, these materials and toxins can spread through liquids or dissipate into the air. These ingredients leech into our global ecosystems, travelling through rainwater into the soil that grows our crops and feed the animals from land, sea and air. We consume them with the water we drink, food we eat and air we breath. Plastic has become pervasive within every corner of the planet.

[![1000000309.jpg](https://hub.subspace.services/uploads/images/gallery/2025-05/scaled-1680-/1000000309.jpg)](https://hub.subspace.services/uploads/images/gallery/2025-05/1000000309.jpg)

Recycling grows more difficult as devices trend towards smaller form factors filled with deeply integrated parts. When materials cannot being reclaimed or recycled, these toxic materials can be sequestered for the health of our communities. Electronic recycling rates are globally low at 20% – and highest within the EU at 35%.

<p class="callout info">Learn more about [global electronic waste recycling rates and legislation](https://globalewaste.org/map/).</p>

What remains is undocumented with no way of truly knowing how they will affect our ecosystems for generations to come. In the modern economy, some countries send e-waste while others receive it – in an illicit ring of smuggled e-waste. These materials are not biodegradable and will persist until we properly account for them.

![](https://hub.subspace.services/uploads/images/gallery/2025-05/embedded-image-q8ozjj87.jpeg)

[Source](https://www.genevaenvironmentnetwork.org/resources/updates/the-growing-environmental-risks-of-e-waste/)

Technology companies often adopt a motto to "[move fast and break things](https://www.jontaplin.com/move-fast-and-break-things)" that leads to rapid innovation cycles and frequent device releases. [Planned obsolescence](https://populationmatters.org/news/2024/04/from-lightbulbs-to-smartphones-the-practice-of-planned-obsolescence/), [hardware expiration](https://www.theregister.com/2023/04/18/chromebook_expiration_date_and_repair/), and [forced upgrades](https://www.abc.net.au/news/2025-02-10/business-ewaste-recycling-reuse-microsoft-windows-10/104909752) quickly build mountains of electronic water while costing precious resources.

[![1000000312.jpg](https://hub.subspace.services/uploads/images/gallery/2025-05/scaled-1680-/1000000312.jpg)](https://hub.subspace.services/uploads/images/gallery/2025-05/1000000312.jpg)

[Source](https://sixsigmadsi.com/what-is-planned-obsolescence/)

When electronics reach [end-of-life](https://en.m.wikipedia.org/wiki/End-of-life_product) status – such as being recycled by consumers or becoming unsupported by the manufacturer – they become electronic waste. This, however, encompasses a great deal of hardware that is still perfectly functional, or could be with a few small repairs.

Refurbished electronics have been extensively tested and repaired to make them work "like-new". These devices may also be called renewed, reconditioned, recycled, or recertified. Devices may have a grade to describe the amount of wear and tear on the device.

These are different from "used" or "previously owned" hardware which has not been confirmed to work to the manufacturer's original specifications. In many countries, the term "refurbished" is not legally defined or protected.

Manufacturers may sell their own refurbished hardware – such as [Dell](https://www.dellrefurbished.com/) and [HP](https://www.hp.com/us-en/services/workforce-solutions/workforce-computing/renew-solutions/refurbished-hardware.html). These are often returned consumer or leased business hardware. For tax purposes, corporations donate used electronics to non-profits who then [refurbish](https://en.m.wikipedia.org/wiki/Refurbishment_(electronics)) them for consumers – like [GreenPC](https://greenpc.shop/) and [PCs For People](https://pcsrefurbished.com/sales/salesHome.aspx).

This can extend their life-time and keeps them in circulation until they can be thoughtfully recycled. While they're still operational, we can use them as a starting point for our server and upgrade parts over time as we need more storage or memory.

![](https://hub.subspace.services/uploads/images/gallery/2025-05/embedded-image-colv0kwp.jpeg)

This circular vision of electronics – where they are refurbished, recycled and reclaimed for creating newer models – can provide a solid starting point for addressing our electronics going forward. [Open standards](https://en.m.wikipedia.org/wiki/Open_standard) are what enable people around the globe to upgrade and repair their own computer systems.

[![1000000314.png](https://hub.subspace.services/uploads/images/gallery/2025-05/scaled-1680-/1000000314.png)](https://hub.subspace.services/uploads/images/gallery/2025-05/1000000314.png)Modular technologies – that we can change and make our own – evoke our creativity can [make our electronics more personal and repairable](https://www.fastcompany.com/91261714/modular-design-makes-tech-personal-and-repairable). A consumer's [right to repair](https://en.m.wikipedia.org/wiki/Right_to_repair) the electronic devices they paid for and own is largely unprotected in the USA. This effects our ability to keep outdated electronics out of landfills.

### Noise

Computers can be loud machines – especially when using older and unmaintained parts. There are several key components that can create noise pollution, a considerable [distraction](https://www.sciencedirect.com/science/article/pii/S0160412021005304).

Computers can generate a great deal of heat that needs to be accommodated. Cooling components and reducing the ambient temperature within your computer case will require fans. Even when leveraging efficient water-cooling, fans cool the fluid.

<table border="1" id="bkmrk--2" style="border-collapse: collapse; width: 100%; border-width: 1px;"><colgroup><col style="width: 50.1326%;"></col><col style="width: 50.1326%;"></col></colgroup><tbody><tr><td>[![1000000300.jpg](https://hub.subspace.services/uploads/images/gallery/2025-05/scaled-1680-/1000000300.jpg)](https://hub.subspace.services/uploads/images/gallery/2025-05/1000000300.jpg)</td><td>[![1000000315.jpg](https://hub.subspace.services/uploads/images/gallery/2025-05/scaled-1680-/1000000315.jpg)](https://hub.subspace.services/uploads/images/gallery/2025-05/1000000315.jpg)</td></tr></tbody></table>

As fans become dirty and displace the lubricant, it is not uncommon for them to create whirring or buzzing sounds. These noises are signs of an underlying issue that needs to be proactively addressed through [cleaning](https://hub.subspace.services/books/monitoring-maintenance/page/cleaning "Cleaning"). When these issues are not addressed, fans can even begin to cause a grinding sound. Dirty fans not only create noise but make it difficult to keep your server cool.

<p class="callout info">Be mindful of where you're keeping an always-on server because it can affect not only your home but neighbors, too.</p>

Similar to fans, platter hard disks can have moving parts that create the occasional whirring, buzzing or clicking as the device operates. Constant noise coming from a hard drive can indicate an underlying hardware issue. When not addressed, this can escalate into grinding noises and the eventual destruction of the drive.

<table border="1" id="bkmrk--4" style="border-collapse: collapse; width: 100%; border-width: 1px;"><colgroup><col style="width: 50.1326%;"></col><col style="width: 50.1326%;"></col></colgroup><tbody><tr><td>[![1000006088.jpg](https://hub.subspace.services/uploads/images/gallery/2025-02/scaled-1680-/1000006088.jpg)](https://hub.subspace.services/uploads/images/gallery/2025-02/1000006088.jpg)</td><td>[![1000000298.jpg](https://hub.subspace.services/uploads/images/gallery/2025-05/scaled-1680-/1000000298.jpg)](https://hub.subspace.services/uploads/images/gallery/2025-05/1000000298.jpg)</td></tr></tbody></table>

Many computer systems have a built-in speaker to notify about hardware-level component, such as chirping during POST while starting the machine. These are used for critical computer notifications.

### Light

Computer systems can have many sensor lights and indicators that are always on – sometimes even blinking incessantly. People may be sensitive to light or distracted by their constant activity when trying to sleep or maintain focus.

These lights are often embedded into the computer case or its individual components to visually communicate what the hardware is doing. This can include power status, disk access and network data transmissions.

[![1000000316.jpg](https://hub.subspace.services/uploads/images/gallery/2025-05/scaled-1680-/1000000316.jpg)](https://hub.subspace.services/uploads/images/gallery/2025-05/1000000316.jpg)

Depending on the manufacturer, individual components may have decorative or programmable lighting modules. These cannot always be disabled. Case lights can potentially be unplugged or other wise disabled. If not, [blackout patches and stickers](https://www.lightdims.com/index.php) can lessen the glow.

<p class="callout warning">Disabling the power and disk indicators can make it difficult to troubleshoot your computer at a glance.</p>

### Vibration

Computer systems may vibrate during operation as a result of numerous moving parts. This can be exacerbated when placed on an unsecured surface like a table or shelf.

Most computer cases come with rubber feet to dampen this, but they can become lost or degraded over time. Placing a rubber mat beneath the server or adding fan dampeners can help.

## Public Utilities

When using services provided to the public, like internet and electricity, we must share them by necessity. By knowing of requirements, we can acknowledge our commitment for our communities.

### Heating and Cooling

Computer servers can generate heat through their processors and chips. When performing intensive tasks for an extended time, this heat can quickly build up and needs to be accommodated for. While single-board computers like the Raspberry Pi can operate without a fan, heat can build up until the computer [throttles](https://en.m.wikipedia.org/wiki/Dynamic_frequency_scaling) itself – or operates more slowly to decrease heat generation.

[![1000000317.jpg](https://hub.subspace.services/uploads/images/gallery/2025-05/scaled-1680-/1000000317.jpg)](https://hub.subspace.services/uploads/images/gallery/2025-05/1000000317.jpg)

Modern computer systems can remove heat from components through efficient airflow or water-cooling. This relies on several fans located within the computer case and on individual components. When the fans aren't maintained, their ability to cool the system can be lessened. Once heat leaves the server, it will progressively warm it's enclosure – such as your living room, basement, garage or attic.

Depending on the layout of your space and the location of your server, this can cause problems during warm months and a boon during cold months. In a cool basement, a server can maintain reasonable temperatures, but that heat will radiate upwards through your house. By contrast, an attic will radiate heat away from your home quickly, but can be more reliant on ambient temperatures.

<p class="callout warning">In an apartment complex, this can have drastic effects on your neighbors, too.</p>

Computers work more efficiently the cooler they are, but generate heat the more consistently they are used. Sporadic processing – such as converting an audio file every 15 minutes – make it much easier for a computer to maintain an optimal temperature.

When the room becomes too hot, air conditioning unit may be needed to keep the computer system cool. This will not only require more energy, but increase ambient noise and produce additional heat to be managed.

### Internet

Servers have the potential to negatively impact the internet connection quality for other devices on their local network. When devices connect to the Internet within your home, they are connecting through a central router device.

Modern routers are often miniature computers in their own right with processor resources that must be managed. When your server transmits massive amounts of data – such as a movie or television show – it is consuming router resources while it directs traffic on your local network. When a server is controlling a third of the traffic on your network, the remainder must be split among every other device connected to the Internet in your home.

Diagram showing a stacked bar graph of 30% being the server with the rest being other devices.

Certain Internet connection types – such as cable, satellite or fixed wireless – might be promising theoretical connection properties. Advertised speed and bandwidth may be limited during peak Internet usage hours. While this may seem nefarious, it is often due to a limitation of older or more centralized Internet access technologies.

[![1000000319.jpg](https://hub.subspace.services/uploads/images/gallery/2025-05/scaled-1680-/1000000319.jpg)](https://hub.subspace.services/uploads/images/gallery/2025-05/1000000319.jpg)

[Cable Internet](https://en.m.wikipedia.org/wiki/Cable_Internet_access) gets it name because by leveraging the existing infrastructure for transmitting [analog cable television signals](https://en.m.wikipedia.org/wiki/Cable_television) using a coaxial cable. This technology is popular for "[last-mile](https://en.m.wikipedia.org/wiki/Last_mile_(telecommunications))" Internet access service by a local regional provider. As a result of the underlying infrastructure, multiple residences will often share bandwidth to the Internet. If your server uses a sizeable portion of the upload and download speeds, less is available for your neighbors.

<p class="callout info">This is similarly true for fixed wireless, satellite, mobile broadband and DSL Internet connection options.</p>

Fiber Internet is an increasingly popular in urban and suburban regions. This Internet connection uses rapid flashes of light to transmit encoded data through an optical cable. It does not have the same bandwidth limitations as Cable – even when serving Internet to an entire block or apartment complex.

Diagram Cable vs fiber Internet connection for local area.

### Power

Running a server and the networking devices that connect us to the Internet will require electricity. Our home setup will require nowhere near as much energy as a data center, but we should still consider how our power usage effects those around us.

Within your home, a server has the potential to draw a large amount of power – and quickly. This can put strain on the circuit or breaker that feed into the wall plug that powers your computer. When multiple high-power devices are plugged into that circuit – such as an AC, heater, or refrigerator – there is potential to blow a fuse or trip a circuit breaker.

<p class="callout warning">Always make sure that you aren't overloading a power line or wall socket.</p>

By running an always-on server, we should critically assess our power usage and reflect on how it effects those around us. This is a near-constant background strain on electrical systems and that can cause problems during times of peak energy usage.

During a heatwave, everyone running their ACs can cause rolling brownouts. During a blizzard, heating units keep people alive. By opening ourselves to the consider the effects one home server can have, we can begin to unravel our relationship with technology and how it effects the planet.

When surveyed, only a fifth of people knew whether their personal computers were configured to [sleep when unused](https://www.energy.ca.gov/sites/default/files/2021-06/CEC-500-2021-034.pdf). Small scale surveys suggest that about a [third of people shut down their desktop computers at night](https://www.pandasecurity.com/en/mediacenter/should-you-shut-down-computer-night/). Within the United States, nearly a third of people [leave their personal computer systems running overnight](https://web.archive.org/web/20120224153324/http://www.climatesaverscomputing.org/docs/1E_PC_Energy_Report_2009_US.pdf). Not only does this lower your electricity bill, it is the start of our journey to computing responsibility.

# Firmware Configuration

Single-board computers use a [file-based system ](https://hub.subspace.services/books/hardware/page/single-board-computers-6VY "Single-Board Computers")store their settings while traditional computers use a [low-level operating system like BIOS or UEFI](https://hub.subspace.services/books/hardware/page/efi-bios "EFI & BIOS"). We explore some basic configuration options for an always-on server.

# Single-Board Computers

The [Raspberry Pi](https://www.raspberrypi.com/) computer series do not have a battery source to ensure that firmware settings are saved even if the computer loses power. This means that they do not use a conventional BIOS or EFI architecture.

[![1000006150.png](https://hub.subspace.services/uploads/images/gallery/2025-02/scaled-1680-/1000006150.png)](https://hub.subspace.services/uploads/images/gallery/2025-02/1000006150.png)

Instead, these systems use a configuration file that is stored on the hard drive and used to configure the system during the boot process. These settings are configured through the [command line](https://www.raspberrypi.com/documentation/computers/configuration.html) or a [graphic user application](https://projects.raspberrypi.org/en/projects/raspberry-pi-using/9).

[![1000006145.png](https://hub.subspace.services/uploads/images/gallery/2025-02/scaled-1680-/1000006145.png)](https://hub.subspace.services/uploads/images/gallery/2025-02/1000006145.png)


## Performance Options

These settings pertain to the overall hardware performance configurations for your single-board computer.

<details id="bkmrk-overlay-file-system-"><summary>Overlay File System</summary>

This option allows the Raspberry Pi to boot in a mode where [files on the SD card cannot be altered](https://storage.raspberrypi.com/product-information/f1a2k217gltilbt5cead63rjkbk9?response-content-disposition=attachment%3B%20filename%3D%22Making-a-more-resilient-file-system.pdf%22%3B%20filename%2A%3DUTF-8%27%27Making-a-more-resilient-file-system.pdf&amp;response-content-type=application%2Fpdf&amp;X-Amz-Algorithm=AWS4-HMAC-SHA256&amp;X-Amz-Credential=product-information%2F20250211%2Feu-west-1%2Fs3%2Faws4_request&amp;X-Amz-Date=20250211T224739Z&amp;X-Amz-Expires=172800&amp;X-Amz-SignedHeaders=host&amp;X-Amz-Signature=267245ef0b145cc13a0ef386f29dd9fcf43869c82ce203743693e632f70d2ee7) and any modifications are only temporarily saved in memory while the operating system is powered on.

This increases the Raspberry Pi's life expectancy, but cannot be used for interactive systems that need to store long-term data between power cycles.

<p class="callout info">*Recommended:* Disabled</p>

</details><details id="bkmrk-gpu-memory-this-allo"><summary>GPU Memory</summary>

This allows you to change the amount of memory allocated to the graphical processing unit of the Raspberry Pi.

Due to [fundamental differences](https://retropie.org.uk/docs/Memory-Split/) in the way that system-on-a-chip computers handle their graphical processing, this setting is an optimized default for your specific model. There is no need to alter these settings and doing so many decrease performance.

<p class="callout info">*Recommended:* Default</p>

</details>## Interface Options

These settings control the different physical and digital interfaces that can be used to interact with the Raspberry Pi.

<details id="bkmrk-ssh-this-allows-you-"><summary>SSH</summary>

This allows you to remotely connect to your server through a terminal and run commands to administrate your server.

<p class="callout info">*Recommended:* Enabled</p>

</details><details id="bkmrk-vnc-this-provides-re"><summary>VNC</summary>

This provides remote access to your Raspberry Pi's user desktop environment. We are disabling it to install RDP, a similar, more modern alternative. If desired, you can leave it on for additional access options.

<p class="callout info">*Recommended:* Disabled</p>

</details><details id="bkmrk-spi-the%C2%A0serial-perip"><summary>SPI</summary>

The [Serial Peripheral Interface](https://learn.sparkfun.com/tutorials/serial-peripheral-interface-spi) is used by the Raspberry Pi to communicate with external sensors through the GPIO port.

<p class="callout info">*Recommended:* Disabled</p>

</details><details id="bkmrk-i2c-the-inter-integr"><summary>I2C</summary>

The Inter-Integrated Circuit is an alternate standard used to communicate with devices through the GPIO port.

<p class="callout info">*Recommended:* Disabled</p>

</details><details id="bkmrk-serial-port-this-dis"><summary>Serial Port</summary>

This disables serial connections through the GPIO port.

<p class="callout info">*Recommended:* Disabled</p>

</details><details id="bkmrk-1-wire-this-disables"><summary>1-Wire</summary>

This disables a communication protocol that uses one wire on the GPIO port.

<p class="callout info">*Recommended:* Disabled</p>

</details><details id="bkmrk-remote-gpio-this-dis"><summary>Remote GPIO</summary>

This disables [remote access to the GPIO port](http://abyz.me.uk/rpi/pigpio/python.html#pigpio.pi) through Python.

<p class="callout info">*Recommended:* Disabled</p>

</details>## System Options

These pertain to general settings of the core Debian operating system.

<details id="bkmrk-change-password-for-"><summary>Change Password</summary>

For security, it is imperative that you change the default password for your Raspberry Pi computer.

</details><details id="bkmrk-change-hostname-this"><summary>Change Hostname</summary>

This allows you to change the name that your server uses while on your network; such as "raspberrypi.local".

</details><details id="bkmrk-power-led-if-desired"><summary>Power LED</summary>

If desired, you can turn off the LEDs on the Raspberry Pi.

</details><details id="bkmrk-wait-for-network-con"><summary>Wait for Network Connection</summary>

This requires that an internet connection is available before the Raspberry Pi will boot into the operating system.

<p class="callout info">*Recommended: Enabled*</p>

</details>## Disable Unused Hardware

Using rfkill to disable Bluetooth and wifi

[<button class="nav-button" type="button">Maintenance</button>](https://hub.subspace.services/books/monitoring-maintenance/page/maintenance "Maintenance")

# EFI & BIOS

Computer hardware has evolved over the years and the industry stardard have continued to shift. This has led to computer hardware that leverage different mechanisms to achieve the same end. For low-level firmware, there are two technologies widely available for configuring hardware.

## BIOS

Older PC systems use a [BIOS](https://en.m.wikipedia.org/wiki/BIOS) – or Basic Input/Output System – to handle core functions before the computer has loaded an operating system. The BIOS is used to configure fundamental computer settings that affects how hardware interacts with the operating system. This architecture stores your settings on a small memory chip powered by a coin-cell battery. Through a user navigable interface, core computer features can be configured.

<table border="1" class="align-center" id="bkmrk-ami-bios" style="border-collapse: collapse; width: 99.9805%; border-width: 1px;"><colgroup><col style="width: 100%;"></col></colgroup><tbody><tr><td>[![1000006149.jpg](https://hub.subspace.services/uploads/images/gallery/2025-02/scaled-1680-/1000006149.jpg)](https://hub.subspace.services/uploads/images/gallery/2025-02/1000006149.jpg)AMI BIOS</td></tr></tbody></table>

## EFI

Modern computer systems use UEFI – or the Unified Extensible Firmware Interface – to manage these settings through a graphic interface. Some systems require enabling an advanced or administer mode to access all firmware settings.

<table border="1" class="align-center" id="bkmrk-ami-uefi" style="border-collapse: collapse; width: 99.9805%; border-width: 1px;"><colgroup><col style="width: 100%;"></col></colgroup><tbody><tr><td>[![1000006146.webp](https://hub.subspace.services/uploads/images/gallery/2025-02/scaled-1680-/1000006146.webp)](https://hub.subspace.services/uploads/images/gallery/2025-02/1000006146.webp)AMI UEFI</td></tr></tbody></table>

## Configuring Your Hardware

There are numerous manufacturers who use different BIOS and UEFI software for their computer systems. There is no definitive standard for BIOS or EFI systems, resultibg in many different descriptive names for the same features. While we try to cover the most common names, you may need to do some personal research. It's entirely possible that feature is not available on your computer system.

<p class="callout success">If a feature is missing, don't panic! You may still be able to follow these guides without running into any issues.</p>

Some OEM systems, such as business-grade workstation PCs, have simplified firmware with minimal configurable options. This computer can work as a server but may require configuration through the operating system to properly manage power and efficiency settings.

These are some common keyboard commands to enter the BIOS or UEFI menu by manufacturer:

<table border="1" id="bkmrk-asrock-f2-or-del-asu" style="border-collapse: collapse; width: 100%; border-width: 1px;"><colgroup><col style="width: 49.8534%;"></col><col style="width: 49.8534%;"></col></colgroup><tbody><tr><td class="align-right">**ASRock**</td><td>F2 or Del</td></tr><tr><td class="align-right">**Asus**</td><td>F2 or Del</td></tr><tr><td class="align-right">**Acer**</td><td>F2 or Del</td></tr><tr><td class="align-right">**Dell**</td><td>F2 or F12</td></tr><tr><td class="align-right">**Gigabyte**</td><td>F2 or Del</td></tr><tr><td class="align-right">**HP**</td><td>F10</td></tr><tr><td class="align-right">**Intel**</td><td>F2</td></tr><tr><td class="align-right">**Lenovo**</td><td>F1</td></tr><tr><td class="align-right">**MSI**</td><td>Del</td></tr><tr><td class="align-right">**Samsung**</td><td>F2</td></tr><tr><td class="align-right">**Toshiba**</td><td>F2</td></tr></tbody></table>

## Disable Unused Hardware &amp; Features

You can increase the overall security of a home server by disabling extraneous hardware as a proactive measure to decrease your [cyber attack surface area](https://en.m.wikipedia.org/wiki/Attack_surface).

Some common hardware components to disable are:

<details id="bkmrk-serial-port-this-leg"><summary>Serial Port</summary>

This legacy protocol is used for old modems and printers.

<p class="callout info">*Recommended:* Disabled</p>

</details><details id="bkmrk-parallel-port-this-l"><summary>Parallel Port</summary>

This legacy protocol is used for old printers, scanners and storage devices.

<p class="callout info">*Recommended:* Disabled</p>

</details><details id="bkmrk-audio-ports-our-serv"><summary>Audio Ports</summary>

Our server ideally will be running "headless" (without a display) and should not be used as a media player.

This can include 3.5mm, optical, HDMI and other audio ports.

<p class="callout info">*Recommended:* Disabled</p>

</details><details id="bkmrk-bluetooth-bluetooth-"><summary>Bluetooth</summary>

Bluetooth can be left on for connecting smart devices to [Home Assistant](https://hub.subspace.services/books/home-family/chapter/home-assistant "Home Assistant"), but the [protocol can be insecure](https://www.cyber.gc.ca/en/guidance/using-bluetooth-technology-itsap00011).

<p class="callout info">*Recommended:* Disabled</p>

</details><details id="bkmrk-thunderbolt-this-tec"><summary>Thunderbolt</summary>

This technology can be enabled for daisy-chaining multiple displays and storage devices, but it has [known vulnerabilities](https://en.wikipedia.org/wiki/Thunderbolt_(interface)) and should be disabled if not in use.

<p class="callout info">*Recommended:* Disabled</p>

</details><details id="bkmrk-wireless-internet-we"><summary>Wireless Internet</summary>

We will use a hardwired connection for our server and the wireless card should be disabled if not in use.

<p class="callout info">*Recommended:* Disabled</p>

</details><details id="bkmrk-trusted-platform-mod"><summary>Trusted Platform Module</summary>

This technology is used [predominantly for Windows 11](https://learn.microsoft.com/en-us/windows/security/hardware-security/tpm/trusted-platform-module-overview) and ensures operating system files are not tampered with. Linux can [use the module for encrypting hard drives](https://wiki.gentoo.org/wiki/Trusted_Platform_Module), but it should be disabled otherwise.

<p class="callout info">*Recommended:* Disabled</p>

</details>## Power-Saving Features   


We are running an always-on server which means our power efficiency settings are an important consideration. Turning off certain hardware when the computer is idle can increase their life expectancy, while turning off other hardware components can decrease stability.

<details id="bkmrk-cool%27n%27quiet-or-spee"><summary>Cool'n'Quiet or SpeedStep</summary>

[Cool'n'Quiet](https://en.m.wikipedia.org/wiki/Cool%27n%27Quiet) (AMD) and [SpeedStep](https://en.m.wikipedia.org/wiki/SpeedStep) (Intel) slow down the processor when idle to decrease overall power usage**.**

<p class="callout info">*Recommended:* Enabled</p>

</details><details id="bkmrk-eist-enhanced-intel-"><summary>EIST</summary>

[Enhanced Intel SpeedStep](https://en.m.wikipedia.org/wiki/SpeedStep) is an advanced mechanism for dynamically scaling the processor's speed and power consumption.

<p class="callout info">*Recommended:* Enabled</p>

</details><details id="bkmrk-c-states-this-featur"><summary>C-States</summary>

This feature allows the CPU to temporarily disable processor sections when they are not being used by the operating system.

<p class="callout info">*Recommended:* Enabled or Auto</p>

</details><details id="bkmrk-c1e-this-is-an-advan"><summary>C1E</summary>

This is an advanced power-saving state that temporarily decreases the processor speed when idle while allowing for rapid return to an active state.

<p class="callout info">*Recommended:* Enabled</p>

</details><details id="bkmrk-erp-mode-and-eup-mod"><summary>ErP Mode and EuP Mode</summary>

This is a comprehensive power feature related to an EU directive that aims to decrease overall device power usage.

While useful for a standard computer, the setting can fundamentally alter system performance by disabling or [underclocking](https://en.m.wikipedia.org/wiki/Underclocking) hardware.

<p class="callout info">*Recommended:* Disabled</p>

</details>## Boot Settings

We can ensure that our server correctly boots into the operating system and restarts automatically in the event of a power failure.

<details id="bkmrk-boot-priority-if-you"><summary>Boot Priority</summary>

If your server has multiple storage disks, you need to ensure that the disk with the operating system installed has first boot priority.

For security, you can disable booting from additional hard drives.

</details><details id="bkmrk-keyboard-and-mouse-h"><summary>Keyboard and Mouse Halt</summary>

Our server will be remotely accessible and we do not always need input devices – such as a mouse and keyboard – connected to it.

Without this setting disabled, the server will fail to boot without them connected.

<p class="callout info">*Recommended:* Disabled</p>

</details><details id="bkmrk-secure-boot-this-fea"><summary>Secure Boot</summary>

This feature is used to verify operating system files during boot to ensure that malicious software cannot start.

By default, the hardware is configured for Microsoft Windows and can be [configured for use with Debian](https://wiki.debian.org/SecureBoot#:~:text=UEFI%20Secure%20Boot%20(SB)%20is,requiring%20further%20signatures%20from%20Microsoft.) if desired. Otherwise, it should be disabled.

<p class="callout info">*Recommended:* Disabled</p>

</details><details id="bkmrk-fast-boot-this-featu"><summary>Fast Boot</summary>

This feature disables several important power-on hardware tests and has been known to interfere with some operating system features.

This feature is not supported by Debian out of the box and needs to be configured.

<p class="callout info">*Recommended:* Disabled</p>

</details><details id="bkmrk-restart-after-failur"><summary>Restart After Failure</summary>

In the event that your server loses power unexpectedly, it can be configured to turn back on when power is restored.

<p class="callout info">*Recommended:* Enabled</p>

</details><details id="bkmrk-wake-on-lan-your-ser"><summary>Wake-on-LAN</summary>

Your server can be powered on through your Ethernet connection over the Local Area Network when it receives a "[magic packet](https://en.m.wikipedia.org/wiki/Wake-on-LAN#Magic_packet)".

<p class="callout info">*Recommended:* Enabled</p>

</details><details id="bkmrk-power-schedule-our-s"><summary>Power Schedule</summary>

Our server should remain on at all times and we do not want our server operating on a power cycling schedule.

<p class="callout info">*Recommended:* Disabled</p>

</details>## Storage Interface

There are some settings related to the way hard drives and solid state disks communicate with the operating system.

<details id="bkmrk-sata-mode-advanced-h"><summary>SATA Mode</summary>

[Advanced Host Controller Interface](https://en.m.wikipedia.org/wiki/Advanced_Host_Controller_Interface), or AHCI, enables the use of SSD drives through a SATA connection.

Additionally, it improves performance by strictly enforcing hardware communication standards that can be leveraged by the operating system.

<p class="callout info">*Recommended:* AHCI</p>

</details><details id="bkmrk-raid-redundant-array"><summary>RAID</summary>

[Redundant Array of Independent Disks](https://en.m.wikipedia.org/wiki/RAID_Array), or RAID, enables your system to duplicate hard drive writes in real-time.

This creates a fully functional backup in the event of a hard drive failure. This architecture needs to be setup before installing an operating system and cannot be installed after.

<p class="callout info">*Recommended:* Disabled</p>

</details>[<button class="nav-button" type="button">Maintenance</button>](https://hub.subspace.services/books/monitoring-maintenance/page/maintenance "Maintenance")

# Next Steps

Now that we have our server properly configured, we can install our operating system and the software required to get our services running.

[![VirtualBox_Debian - GNOME_02_04_2025_12_03_25.png](https://hub.subspace.services/uploads/images/gallery/2025-04/scaled-1680-/virtualbox-debian-gnome-02-04-2025-12-03-25.png)](https://hub.subspace.services/uploads/images/gallery/2025-04/virtualbox-debian-gnome-02-04-2025-12-03-25.png)

[<button class="nav-button" type="button">See the Software Guide</button>](https://hub.subspace.services/books/software "Next Steps")